##// END OF EJS Templates
Adds variable controller and properties to test structure...
Alexandre Leroux -
r1169:49d15be9d590
parent child
Show More
@@ -0,0 +1,2
1 #include "FuzzingDefs.h"
2
@@ -0,0 +1,10
1 #ifndef SCIQLOP_FUZZINGDEFS_H
2 #define SCIQLOP_FUZZINGDEFS_H
3
4 // /////// //
5 // Aliases //
6 // /////// //
7
8 using Properties = QVariantHash;
9
10 #endif // SCIQLOP_FUZZINGDEFS_H
@@ -1,77 +1,83
1
1
2 amdaplugin_moc_headers = [
2 amdaplugin_moc_headers = [
3 'include/AmdaPlugin.h',
3 'include/AmdaPlugin.h',
4 'include/AmdaProvider.h'
4 'include/AmdaProvider.h'
5 ]
5 ]
6
6
7 amdaplugin_sources = [
7 amdaplugin_sources = [
8 'src/AmdaDefs.cpp',
8 'src/AmdaDefs.cpp',
9 'src/AmdaParser.cpp',
9 'src/AmdaParser.cpp',
10 'src/AmdaPlugin.cpp',
10 'src/AmdaPlugin.cpp',
11 'src/AmdaProvider.cpp',
11 'src/AmdaProvider.cpp',
12 'src/AmdaResultParser.cpp',
12 'src/AmdaResultParser.cpp',
13 'src/AmdaResultParserDefs.cpp',
13 'src/AmdaResultParserDefs.cpp',
14 'src/AmdaResultParserHelper.cpp',
14 'src/AmdaResultParserHelper.cpp',
15 'src/AmdaServer.cpp'
15 'src/AmdaServer.cpp'
16 ]
16 ]
17
17
18 amdaplugin_ui_files = []
18 amdaplugin_ui_files = []
19 amdaplugin_resources_files = [
19 amdaplugin_resources_files = [
20 'resources/amdaresources.qrc'
20 'resources/amdaresources.qrc'
21 ]
21 ]
22
22
23 amdaplugin_inc = include_directories(['include', '../../plugin/include'])
23 amdaplugin_inc = include_directories(['include', '../../plugin/include'])
24
24
25 moc_gen = generator(moc,
25 moc_gen = generator(moc,
26 output : 'moc_@BASENAME@.cpp',
26 output : 'moc_@BASENAME@.cpp',
27 arguments : ['@INPUT@',
27 arguments : ['@INPUT@',
28 '-DSCIQLOP_PLUGIN_JSON_FILE_PATH="'+meson.source_root()+'/plugins/amda/resources/amda.json"',
28 '-DSCIQLOP_PLUGIN_JSON_FILE_PATH="'+meson.source_root()+'/plugins/amda/resources/amda.json"',
29 '-I', meson.current_source_dir()+'/include',
29 '-I', meson.current_source_dir()+'/include',
30 '-I', meson.current_source_dir()+'/../../plugin/include',
30 '-I', meson.current_source_dir()+'/../../plugin/include',
31 '-o', '@OUTPUT@'])
31 '-o', '@OUTPUT@'])
32
32
33 rcc_gen = generator(rcc,
33 rcc_gen = generator(rcc,
34 output : 'qrc_@BASENAME@.cpp',
34 output : 'qrc_@BASENAME@.cpp',
35 arguments : ['--name=@BASENAME@"',
35 arguments : ['--name=@BASENAME@"',
36 '--output',
36 '--output',
37 '@OUTPUT@',
37 '@OUTPUT@',
38 '@INPUT@'])
38 '@INPUT@'])
39
39
40 amdaplugin_moc_plugin_files = moc_gen.process(amdaplugin_moc_headers)
40 amdaplugin_moc_plugin_files = moc_gen.process(amdaplugin_moc_headers)
41
41
42 amdaplugin_rcc_plugin_files = rcc_gen.process(amdaplugin_resources_files)
42 amdaplugin_rcc_plugin_files = rcc_gen.process(amdaplugin_resources_files)
43
43
44 #amdaplugin_rcc_plugin_files = qt5.preprocess(
44 #amdaplugin_rcc_plugin_files = qt5.preprocess(
45 # qresources : amdaplugin_resources_files)
45 # qresources : amdaplugin_resources_files)
46
46
47 amdaplugin_moc_files = qt5.preprocess(
47 amdaplugin_moc_files = qt5.preprocess(
48 ui_files : amdaplugin_ui_files)
48 ui_files : amdaplugin_ui_files)
49
49
50 sciqlop_amdaplugin = library('amdaplugin',
50 sciqlop_amdaplugin = library('amdaplugin',
51 amdaplugin_sources,
51 amdaplugin_sources,
52 amdaplugin_moc_files,
52 amdaplugin_moc_files,
53 amdaplugin_rcc_plugin_files,
53 amdaplugin_rcc_plugin_files,
54 amdaplugin_moc_plugin_files,
54 amdaplugin_moc_plugin_files,
55 cpp_args : ['-DAMDA_LIB','-DQT_PLUGIN'],
55 cpp_args : ['-DAMDA_LIB','-DQT_PLUGIN'],
56 include_directories : [amdaplugin_inc],
56 include_directories : [amdaplugin_inc],
57 dependencies : [sciqlop_core, sciqlop_gui],
57 dependencies : [sciqlop_core, sciqlop_gui],
58 install : true
58 install : true
59 )
59 )
60
60
61
61
62 tests = [
62 tests = [
63 [['tests/TestAmdaParser.cpp'],'test_amda_parser','AMDA parser test'],
63 [['tests/TestAmdaParser.cpp'],'test_amda_parser','AMDA parser test'],
64 [['tests/TestAmdaResultParser.cpp'],'test_amda_result_parser','AMDA result parser test'],
64 [['tests/TestAmdaResultParser.cpp'],'test_amda_result_parser','AMDA result parser test'],
65 [['tests/TestAmdaAcquisition.cpp'],'test_amda_acquisition','AMDA Acquisition test'],
65 [['tests/TestAmdaAcquisition.cpp'],'test_amda_acquisition','AMDA Acquisition test'],
66 [['tests/TestAmdaFuzzing.cpp'],'test_amda_fuzzing','AMDA fuzzing test']
66 [['tests/TestAmdaFuzzing.cpp'],'test_amda_fuzzing','AMDA fuzzing test']
67 ]
67 ]
68
68
69 tests_sources = [
70 'tests/FuzzingDefs.h',
71 'tests/FuzzingDefs.cpp',
72 ]
73
69 foreach unit_test : tests
74 foreach unit_test : tests
70 test_moc_files = qt5.preprocess(moc_sources : unit_test[0])
75 test_moc_files = qt5.preprocess(moc_sources : unit_test[0])
71 test_exe = executable(unit_test[1],unit_test[0] , test_moc_files,
76 test_exe = executable(unit_test[1],unit_test[0] , test_moc_files,
72 link_with : [sciqlop_amdaplugin],
77 link_with : [sciqlop_amdaplugin],
73 include_directories : [amdaplugin_inc],
78 include_directories : [amdaplugin_inc],
74 cpp_args : ['-DAMDA_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/tests-resources"'],
79 cpp_args : ['-DAMDA_TESTS_RESOURCES_DIR="'+meson.current_source_dir()+'/tests-resources"'],
80 sources : [tests_sources],
75 dependencies : [sciqlop_core, sciqlop_gui, qt5test])
81 dependencies : [sciqlop_core, sciqlop_gui, qt5test])
76 test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])], timeout: 3 * 60)
82 test(unit_test[2], test_exe, args: ['-teamcity', '-o', '@0@.teamcity.txt'.format(unit_test[1])], timeout: 3 * 60)
77 endforeach
83 endforeach
@@ -1,79 +1,91
1 #include <Network/NetworkController.h>
1 #include <Network/NetworkController.h>
2 #include <SqpApplication.h>
2 #include <SqpApplication.h>
3 #include <Time/TimeController.h>
3 #include <Time/TimeController.h>
4 #include <Variable/VariableController.h>
4 #include <Variable/VariableController.h>
5
5
6 #include <QLoggingCategory>
6 #include <QLoggingCategory>
7 #include <QObject>
7 #include <QObject>
8 #include <QtTest>
8 #include <QtTest>
9
9
10 #include <memory>
10 #include <memory>
11
11
12 Q_LOGGING_CATEGORY(LOG_TestAmdaFuzzing, "TestAmdaFuzzing")
12 Q_LOGGING_CATEGORY(LOG_TestAmdaFuzzing, "TestAmdaFuzzing")
13
13
14 namespace {
14 namespace {
15
15
16 /**
16 /**
17 * Class to run random tests
17 * Class to run random tests
18 */
18 */
19 class FuzzingTest {
19 class FuzzingTest {
20 public:
20 public:
21 explicit FuzzingTest(VariableController &variableController, Properties properties)
22 : m_VariableController{variableController},
23 m_Properties{std::move(properties)},
24 {
25 }
26
21 void execute()
27 void execute()
22 {
28 {
23 /// @todo: complete
29 /// @todo: complete
24 qCInfo(LOG_TestAmdaFuzzing()) << "Execution of the test completed.";
30 qCInfo(LOG_TestAmdaFuzzing()) << "Execution of the test completed.";
25 }
31 }
32
33 private:
34 VariableController &m_VariableController;
35 Properties m_Properties;
26 };
36 };
27
37
28 } // namespace
38 } // namespace
29
39
30 class TestAmdaFuzzing : public QObject {
40 class TestAmdaFuzzing : public QObject {
31 Q_OBJECT
41 Q_OBJECT
32
42
33 private slots:
43 private slots:
34 /// Input data for @sa testFuzzing()
44 /// Input data for @sa testFuzzing()
35 void testFuzzing_data();
45 void testFuzzing_data();
36 void testFuzzing();
46 void testFuzzing();
37 };
47 };
38
48
39 void TestAmdaFuzzing::testFuzzing_data()
49 void TestAmdaFuzzing::testFuzzing_data()
40 {
50 {
41 // ////////////// //
51 // ////////////// //
42 // Test structure //
52 // Test structure //
43 // ////////////// //
53 // ////////////// //
44
54
45 /// @todo: complete
55 QTest::addColumn<Properties>("properties"); // Properties for random test
46
56
47 // ////////// //
57 // ////////// //
48 // Test cases //
58 // Test cases //
49 // ////////// //
59 // ////////// //
50
60
51 ///@todo: complete
61 ///@todo: complete
52 }
62 }
53
63
54 void TestAmdaFuzzing::testFuzzing()
64 void TestAmdaFuzzing::testFuzzing()
55 {
65 {
66 QFETCH(Properties, properties);
67
56 auto &variableController = sqpApp->variableController();
68 auto &variableController = sqpApp->variableController();
57 auto &timeController = sqpApp->timeController();
69 auto &timeController = sqpApp->timeController();
58
70
59 FuzzingTest test{};
71 FuzzingTest test{variableController, properties};
60 test.execute();
72 test.execute();
61 }
73 }
62
74
63 int main(int argc, char *argv[])
75 int main(int argc, char *argv[])
64 {
76 {
65 QLoggingCategory::setFilterRules(
77 QLoggingCategory::setFilterRules(
66 "*.warning=false\n"
78 "*.warning=false\n"
67 "*.info=false\n"
79 "*.info=false\n"
68 "*.debug=false\n"
80 "*.debug=false\n"
69 "FuzzingOperations.info=true\n"
81 "FuzzingOperations.info=true\n"
70 "TestAmdaFuzzing.info=true\n");
82 "TestAmdaFuzzing.info=true\n");
71
83
72 SqpApplication app{argc, argv};
84 SqpApplication app{argc, argv};
73 app.setAttribute(Qt::AA_Use96Dpi, true);
85 app.setAttribute(Qt::AA_Use96Dpi, true);
74 TestAmdaFuzzing testObject{};
86 TestAmdaFuzzing testObject{};
75 QTEST_SET_MAIN_SOURCE_PATH
87 QTEST_SET_MAIN_SOURCE_PATH
76 return QTest::qExec(&testObject, argc, argv);
88 return QTest::qExec(&testObject, argc, argv);
77 }
89 }
78
90
79 #include "TestAmdaFuzzing.moc"
91 #include "TestAmdaFuzzing.moc"
General Comments 0
You need to be logged in to leave comments. Login now