diff --git a/lobster/tools/cpptest/cpptest.py b/lobster/tools/cpptest/cpptest.py index 47d444fb..e14b209d 100644 --- a/lobster/tools/cpptest/cpptest.py +++ b/lobster/tools/cpptest/cpptest.py @@ -372,7 +372,9 @@ def main(): Main function to parse arguments, read configuration and launch lobster_cpptest. """ - # lobster-trace: cpptest_req.Dummy_Requirement + # lobster-trace: cpptest_req.Valid_Source_Input_File_Paths + # lobster-trace: cpptest_req.No_Source_Input_File_Path + # lobster-trace: cpptest_req.Invalid_Source_Input_File_Paths ap = argparse.ArgumentParser() ap.add_argument("files", nargs="+", diff --git a/lobster/tools/cpptest/requirements.trlc b/lobster/tools/cpptest/requirements.trlc index c2e8d202..483eb75c 100644 --- a/lobster/tools/cpptest/requirements.trlc +++ b/lobster/tools/cpptest/requirements.trlc @@ -1,16 +1,75 @@ package cpptest_req -import req +import tool_req -req.Software_Requirement Dummy_Requirement { +tool_req.Tool_Definition Source_Input_Valid { + title = '''Valid source input given''' description = ''' - This is not really a requirement. It will be used only to generate a minimal tracing report for each tool. - It can be deleted as soon as all the tools get their real requirements. + Valid source input means that the tool was called with + a list of terms as a command line argument. + Each term is an existing file or an existing directory path ''' } -req.Software_Requirement Dummy_Requirement_Unit_Test { +tool_req.Tool_Definition No_Source_Input { + title = '''No source input given''' description = ''' - This is not really a requirement. It will be used only to generate a minimal tracing report for each tool. - It can be deleted as soon as all the tools get their real requirements. + No source input means that the tool was called with nothing specified + in the command line argument. ''' } + +tool_req.Tool_Definition Source_Inputs_Invalid { + title = '''Invalid source input given''' + description = ''' + Invalid source input means that the tool was called with + a list of terms as a command line argument. + At least one term is an non-existent file or an non-existent directory path + ''' +} + +tool_req.Tool_Definition Source_Input_Files { + title = '''Source input files given''' + description = ''' + Valid existing source input files in the case of [[Source_Inputs_Valid]] + ''' +} + +tool_req.Tool_Definition Config_File { + title = '''Config file''' + description = ''' + This file consists of the configuration of the tool. + ''' +} + +tool_req.Tool_Config_Parameter Source_Input_File_Paths { + description = ''' + The input terms can be specified in space separated format + as a command line argument. + Only files ending on [".cpp", ".cc", ".c", ".h"] are considered. + ''' +} + +tool_req.Tool_Config_Parameter Config_File_Path { + description = ''' + This parameter specifies the path to [[Config_File]]. + ''' +} + +tool_req.Tool_Requirement Valid_Source_Input_File_Paths { + description = ''' + If [[Source_Inputs_Valid]] and [[Config_File_Path]] is specified, the output file/s containing the extracted tests + from [[Source_Input_Files]] will be written with user-specific markers to the file specified in [[Config_File]]. + ''' +} + +tool_req.Tool_Requirement_Else No_Source_Input_File_Path { + description = ''' + Else if [[No_Source_Input]], the tool shall exit with return code 1. + ''' +} + +tool_req.Tool_Requirement_Else Invalid_Source_Input_File_Paths { + description = ''' + Else if [[Source_Inputs_Invalid]], the tool shall exit with return code 1. + ''' +} \ No newline at end of file diff --git a/lobster/tools/requirements.rsl b/lobster/tools/requirements.rsl index db0c4230..02efc49d 100644 --- a/lobster/tools/requirements.rsl +++ b/lobster/tools/requirements.rsl @@ -1,16 +1,32 @@ -package req +package tool_req -type System_Requirement { +type Tool_Definition { + title ''' + Title of the definition. + ''' String description ''' - The content of the requirement. - A tool requirement describes the behaviour of a lobster tool from the point of view of the user. - It does not describe implementation details. + A definition describes what a particular entity is. ''' String } -type Software_Requirement { +type Tool_Config_Parameter { + description ''' + A tool configuration parameter describes the exact way in which the + parameters shall be given for the tool from the user's point of view. + ''' String +} + +type Tool_Requirement { description ''' The content of the requirement. - A software requirement describes the behaviour of a lobster tool. + A tool requirement describes the behavior of a lobster tool from the point of view of the user. + It does not describe implementation details. ''' String } + +type Tool_Requirement_Else { + description ''' + A tool requirement else describes the behavior of a Lobster tool in which the specific conditions + can be applied by the user. + ''' String +} \ No newline at end of file diff --git a/lobster/tools/trlc/requirements.trlc b/lobster/tools/trlc/requirements.trlc index 294b7965..beffc802 100644 --- a/lobster/tools/trlc/requirements.trlc +++ b/lobster/tools/trlc/requirements.trlc @@ -1,7 +1,7 @@ package trlc_req -import req +import tool_req -req.System_Requirement Output_File { +tool_req.Tool_Requirement Output_File { description = ''' If a output file is specified as command line argument, then the output must be written into that file. Otherwise, the output shall be written to 'trlc.lobster'. diff --git a/tests-system/lobster-cpptest/data/other-data/test_case.cpp b/tests-system/lobster-cpptest/data/other-data/test_case.cpp new file mode 100644 index 00000000..37e0aece --- /dev/null +++ b/tests-system/lobster-cpptest/data/other-data/test_case.cpp @@ -0,0 +1,53 @@ + +/** ensure version are parsed correctly */ + +/// @version 1 +TEST(VersionTagTest, VersionTagTestInOnline) {} + +/// @version 1, 42 +TEST(VersionTagTest, MultipleVersionTagTestInOnline) {} + +/// @requirement CB-#0815 +/// @version 12, 70 +TEST(VersionTagTest, MoreVersionsThanRequirements) {} + +/// @requirement CB-#0815, CB-#0816 +/// @version 28 +TEST(VersionTagTest, MoreRequirementsThanVersions) {} + +/// @requirement CB-#123 CB-#456 +/// @version 28 99 +TEST(VersionTagTest, VersionSpaceSeparated) {} + +/** ensure everything is parsed correctly at once */ + +/// +/// @test foo +/// @brief this test tests something +/// @version 42, 2 +/// @requirement CB-#0815, CB-#0816 +/// @requiredby FOO0::BAR0 +/// @testmethods TM_BOUNDARY, TM_REQUIREMENT +/// +TEST(AllTogetherTest, ImplementationMultipleLines) { + EXPECT_EQ(true, DummyFunctionForValidCondition()); +} + +/** + * commented test cases + */ +// TEST(LayoutTest1, SingleComment){} +/* TEST(LayoutTest2, InlineComment){} */ +/* + * TEST(LayoutTest2, Comment) {} + */ + +/** + * invalid test cases + * the following tests should not be parsed + * as valid test cases + */ +TEST(InvalidTest1,) {} +TEST(, InvalidTest2) {} +TEST(,) {} +TEST() {} diff --git a/tests-system/lobster-cpptest/data/test_case.cpp b/tests-system/lobster-cpptest/data/test_case.cpp new file mode 100644 index 00000000..6769e085 --- /dev/null +++ b/tests-system/lobster-cpptest/data/test_case.cpp @@ -0,0 +1,183 @@ +/** ensure all desired test macros are parsed */ + +TEST_P_INSTANCE(TestMacrosTest, TestPInstance) {} +TEST(TestMacrosTest, TestTest) {} +TEST_F(TestMacrosTest1, TestTestF) {} +TEST_P(TestMacrosTest1, TestTestP) {} +TYPED_TEST(TestMacrosTest2, TestTypedTest) {} +TYPED_TEST_P(TestMacrosTest2, TestTypedTestP) {} +TYPED_TEST_SUITE(TestMacrosTest2, TestTypedTestSuite) {} +TEST_F_INSTANCE(TestMacrosTest3, TestFInstance) {} + +/** ensure test implementation is correctly parsed */ + +TEST( + ImplementationTest, + TestMultiLine +) {} + +TEST(ImplementationTest, EmptyImplementation) {} + +TEST(ImplementationTest, ImplementationMultipleLines) { + EXPECT_EQ(true, DummyFunctionForValidCondition()); +} + +TEST(ImplementationTest, MultipleLinesWithComments) +{ + // Some comments + EXPECT_EQ(true, DummyFunctionForValidCondition()); + // Some other comments +} + +/** ensure test tag is correctly parsed */ + +/// @test foo1 +TEST(TestTagTest, TestTagInOnline) {} + +/// +/// @test foo2 +TEST(TestTagTest, TestTagPrecededByComment) {} + +/// @test foo3 +/// +TEST(TestTagTest, TestTagFollowedByComment) {} + +/// +/// @test foo4 +/// +TEST(TestTagTest, TestTagWithCommentsAround) {} + +/// @test lorem ipsum +TEST(TestTagTest, TestTagAsText) {} + +/** ensure brief are parsed correctly */ + +/// @brief Some nasty bug1 +TEST(BriefTagTest, BriefTagInOnline) {} + +/// @brief This is a brief field +/// with a long description +TEST(BriefTagTest, BriefTagMultipleLines) {} + +/** ensure requirement tags are parse correctly */ + +/// @requirement CB-#0815 +TEST(RequirementTagTest, Requirement) {} + +/** @requirement CB-#0815 CB-#0816 */ +TEST(RequirementTagTest1, RequirementAsOneLineComments) {} + +/** + * @requirement CB-#0815 CB-#0816 + */ +TEST(RequirementTagTest1, RequirementAsComments) {} + +/** + * @requirement CB-#0815, CB-#0816, + * CB-#0817 + * @requirement CB-#0818 CB-#0819 + * CB-#0820 + */ +TEST(RequirementTagTest1, RequirementsAsMultipleComments) {} + +/// +/// @requirement https://codebeamer.company.net/cb/issue/0815 +/// +TEST(RequirementTagTest2, URLRequirement) {} + +/// +/// @requirement https://codebeamer.company.net/cb/issue/0815, +/// https://codebeamer.company.net/cb/issue/0816 +/// +TEST(RequirementTagTest2, URLRequirementsCommaSeparated) {} + +/** + * @requirement https://codebeamer.company.net/cb/issue/0815 + * https://codebeamer.company.net/cb/issue/0816 + */ +TEST(RequirementTagTest2, URLRequirementsAsCommentsSpaceSeparated) {} + +/** + * @requirement https://codebeamer.company.net/cb/issue/0815, https://codebeamer.company.net/cb/issue/0816 + * @requirement https://codebeamer.company.net/cb/issue/0817 + * https://codebeamer.company.net/cb/issue/0818 + */ +TEST(RequirementTagTest2, MultipleURLRequirements) {} + +/// +/// @requirement https://codebeamer.company.net/cb/issue/0815 +/// @requirement CB-#0816 +/// +TEST(RequirementTagTest3, MixedRequirements) {} + +/// +/// @requirement something_arbitrary +/// +TEST(RequirementTagTest4, InvalidRequirement) {} + +/// +/// @requirement +/// +TEST(RequirementTagTest4, MissingRequirementReference) {} + +/** ensure required-by tags are parsed correctly */ + +/// +/// @requiredby FOO0::BAR0 +/// +TEST(RequirementByTest1, RequiredByWithAt) {} + +/// +/// @requiredby FOO0::BAR0, FOO1::BAR1 +/// +TEST(RequirementByTest1, MultipleRequiredByCommaSeparated) {} + +/** + * @requiredby FOO0::BAR0, FOO1::BAR1, + * FOO2::BAR2 + * @requiredby FOO3::BAR3 FOO4::BAR4, + * FOO5::BAR5 + * @requiredby FOO6::BAR6 FOO7::BAR7 + * FOO8::BAR8 + */ +TEST(RequirementByTest1, MultipleRequiredByAsComments) {} + +/// @test lorem ipsum +/// @requiredby FOO0::BAR0, +/// FOO1::BAR1, +/// FOO2::BAR2, +/// FOO3::BAR3, +/// FOO4::BAR4, +/// FOO5::BAR5, +/// FOO6::BAR6, +/// FOO7::BAR7, +/// FOO8::BAR8 +/// +TEST(RequirementByTest2, RequiredByWithNewLines) {} + +/** ensure testmethods are parsed correctly */ + +/// @testmethods TM_REQUIREMENT +TEST(TestMethodsTagTest, TestMethod) {} + +/** + * @testmethods TM_PAIRWISE TM_BOUNDARY + */ +TEST(TestMethodsTagTest2, TestMethodAsCommentsSpaceSeparated) {} + +/// @testmethods TM_REQUIREMENT, TM_EQUIVALENCE +TEST(TestMethodsTagTest2, TestMethodAsCommentsCommaSeparated) {} + +// /// @testmethods TM_REQUIREMENT, TM_EQUIVALENCE +// /// @testmethods TM_BOUNDARY, TM_CONDITION +// TEST(TestMethodsTagTest2, TestMethodAsCommentsMultipleLines) {} + +/// +/// @testmethods something_arbitrary +/// +TEST(TestMethodsTagTest3, InvalidTestMethod) {} + +/// +/// @testmethods +/// +TEST(TestMethodsTagTest4, MissingTestMethod) {} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..a08ff406 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/expected-output/stdout.txt @@ -0,0 +1,2 @@ +usage: lobster-cpptest [-h] --config-file CONFIG_FILE FILE|DIR [FILE|DIR ...] +lobster-cpptest: error: "../../../dattta" is not a file or directory. diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/input/args.txt new file mode 100644 index 00000000..7c4c8eed --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/input/args.txt @@ -0,0 +1 @@ +../../../dattta --config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-directory-input-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..ea852bca --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/expected-output/stdout.txt @@ -0,0 +1,2 @@ +usage: lobster-cpptest [-h] --config-file CONFIG_FILE FILE|DIR [FILE|DIR ...] +lobster-cpptest: error: "../../../data/testtt_case.cpp" is not a file or directory. diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/input/args.txt new file mode 100644 index 00000000..a4471b02 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/input/args.txt @@ -0,0 +1 @@ +../../../data/testtt_case.cpp --config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/invalid-file-input-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..0639c9ba --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/expected-output/stdout.txt @@ -0,0 +1,2 @@ +usage: lobster-cpptest [-h] --config-file CONFIG_FILE FILE|DIR [FILE|DIR ...] +lobster-cpptest: error: "../../../data/the-other-data" is not a file or directory. diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/input/args.txt new file mode 100644 index 00000000..ffc9b7f4 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/input/args.txt @@ -0,0 +1 @@ +../../../data/test_case.cpp ../../../data/the-other-data --config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-invalid-source-input-file-paths/valid-file-invalid-directory-input-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..d8263ee9 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +2 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..7dcb6cbb --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/expected-output/stdout.txt @@ -0,0 +1,2 @@ +usage: lobster-cpptest [-h] --config-file CONFIG_FILE FILE|DIR [FILE|DIR ...] +lobster-cpptest: error: the following arguments are required: FILE|DIR diff --git a/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/input/args.txt new file mode 100644 index 00000000..921e3269 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/input/args.txt @@ -0,0 +1 @@ +--config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-no-source-input-file-path/no-source-input-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..8eca6b24 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/expected-output/stdout.txt @@ -0,0 +1,43 @@ +Written 4 lobster items to "cpptest.lobster". +{ + "data": [ + { + "tag": "cpp test_case.cpp:VersionTagTest:4", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\other-data\\test_case.cpp", + "line": 4, + "column": null + }, + "name": "test_case.cpp:VersionTagTest:4", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:VersionTagTest:7", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\other-data\\test_case.cpp", + "line": 7, + "column": null + }, + "name": "test_case.cpp:VersionTagTest:7", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + } + ], + "generator": "lobster-cpptest", + "schema": "lobster-act-trace", + "version": 3 +} +Written 2 lobster items to stdout. diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/input/args.txt new file mode 100644 index 00000000..6ee4b087 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/input/args.txt @@ -0,0 +1 @@ +../../../data/other-data --config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-directory-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..6a78ab57 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/expected-output/stdout.txt @@ -0,0 +1,587 @@ +Written 5 lobster items to "cpptest.lobster". +{ + "data": [ + { + "tag": "cpp test_case.cpp:TestMacrosTest:3", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 3, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest:3", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest:4", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 4, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest:4", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest1:5", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 5, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest1:5", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest1:6", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 6, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest1:6", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest2:7", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 7, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest2:7", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest2:8", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 8, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest2:8", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest2:9", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 9, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest2:9", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest3:10", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 10, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest3:10", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:14", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 14, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:14", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:19", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 19, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:19", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:21", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 21, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:21", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:25", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 25, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:25", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:34", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 34, + "column": null + }, + "name": "test_case.cpp:TestTagTest:34", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:37", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 37, + "column": null + }, + "name": "test_case.cpp:TestTagTest:37", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:41", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 41, + "column": null + }, + "name": "test_case.cpp:TestTagTest:41", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:45", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 45, + "column": null + }, + "name": "test_case.cpp:TestTagTest:45", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:50", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 50, + "column": null + }, + "name": "test_case.cpp:TestTagTest:50", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:BriefTagTest:55", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 55, + "column": null + }, + "name": "test_case.cpp:BriefTagTest:55", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:BriefTagTest:58", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 58, + "column": null + }, + "name": "test_case.cpp:BriefTagTest:58", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:83", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 83, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:83", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:88", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 88, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:88", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:94", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 94, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:94", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:100", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 100, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:100", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest4:113", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 113, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest4:113", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest4:118", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 118, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest4:118", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest1:125", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 125, + "column": null + }, + "name": "test_case.cpp:RequirementByTest1:125", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest1:130", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 130, + "column": null + }, + "name": "test_case.cpp:RequirementByTest1:130", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest1:135", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 135, + "column": null + }, + "name": "test_case.cpp:RequirementByTest1:135", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest2:145", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 145, + "column": null + }, + "name": "test_case.cpp:RequirementByTest2:145", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest:160", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 160, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest:160", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest2:163", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 163, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest2:163", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest2:168", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 168, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest2:168", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest3:175", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 175, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest3:175", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest4:180", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 180, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest4:180", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + } + ], + "generator": "lobster-cpptest", + "schema": "lobster-act-trace", + "version": 3 +} +Written 34 lobster items to stdout. diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/input/args.txt new file mode 100644 index 00000000..ab391c29 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/input/args.txt @@ -0,0 +1 @@ +../../../data/test_case.cpp --config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/one-valid-file-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/expected-output/exit-code.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/expected-output/exit-code.txt new file mode 100644 index 00000000..c2270834 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/expected-output/exit-code.txt @@ -0,0 +1 @@ +0 \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/expected-output/stdout.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/expected-output/stdout.txt new file mode 100644 index 00000000..cd784f83 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/expected-output/stdout.txt @@ -0,0 +1,621 @@ +Written 9 lobster items to "cpptest.lobster". +{ + "data": [ + { + "tag": "cpp test_case.cpp:TestMacrosTest:3", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 3, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest:3", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest:4", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 4, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest:4", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest1:5", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 5, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest1:5", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest1:6", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 6, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest1:6", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest2:7", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 7, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest2:7", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest2:8", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 8, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest2:8", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest2:9", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 9, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest2:9", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMacrosTest3:10", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 10, + "column": null + }, + "name": "test_case.cpp:TestMacrosTest3:10", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:14", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 14, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:14", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:19", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 19, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:19", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:21", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 21, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:21", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:ImplementationTest:25", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 25, + "column": null + }, + "name": "test_case.cpp:ImplementationTest:25", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:34", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 34, + "column": null + }, + "name": "test_case.cpp:TestTagTest:34", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:37", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 37, + "column": null + }, + "name": "test_case.cpp:TestTagTest:37", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:41", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 41, + "column": null + }, + "name": "test_case.cpp:TestTagTest:41", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:45", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 45, + "column": null + }, + "name": "test_case.cpp:TestTagTest:45", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestTagTest:50", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 50, + "column": null + }, + "name": "test_case.cpp:TestTagTest:50", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:BriefTagTest:55", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 55, + "column": null + }, + "name": "test_case.cpp:BriefTagTest:55", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:BriefTagTest:58", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 58, + "column": null + }, + "name": "test_case.cpp:BriefTagTest:58", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:83", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 83, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:83", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:88", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 88, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:88", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:94", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 94, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:94", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest2:100", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 100, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest2:100", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest4:113", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 113, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest4:113", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementTagTest4:118", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 118, + "column": null + }, + "name": "test_case.cpp:RequirementTagTest4:118", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest1:125", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 125, + "column": null + }, + "name": "test_case.cpp:RequirementByTest1:125", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest1:130", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 130, + "column": null + }, + "name": "test_case.cpp:RequirementByTest1:130", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest1:135", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 135, + "column": null + }, + "name": "test_case.cpp:RequirementByTest1:135", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:RequirementByTest2:145", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 145, + "column": null + }, + "name": "test_case.cpp:RequirementByTest2:145", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest:160", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 160, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest:160", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest2:163", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 163, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest2:163", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest2:168", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 168, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest2:168", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest3:175", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 175, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest3:175", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:TestMethodsTagTest4:180", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\test_case.cpp", + "line": 180, + "column": null + }, + "name": "test_case.cpp:TestMethodsTagTest4:180", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:VersionTagTest:4", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\other-data\\test_case.cpp", + "line": 4, + "column": null + }, + "name": "test_case.cpp:VersionTagTest:4", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + }, + { + "tag": "cpp test_case.cpp:VersionTagTest:7", + "location": { + "kind": "file", + "file": "..\\..\\..\\data\\other-data\\test_case.cpp", + "line": 7, + "column": null + }, + "name": "test_case.cpp:VersionTagTest:7", + "messages": [], + "just_up": [], + "just_down": [], + "just_global": [], + "framework": "cpptest", + "kind": "Function", + "status": null + } + ], + "generator": "lobster-cpptest", + "schema": "lobster-act-trace", + "version": 3 +} +Written 36 lobster items to stdout. diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/input/args.txt b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/input/args.txt new file mode 100644 index 00000000..d223db69 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/input/args.txt @@ -0,0 +1 @@ +../../../data/test_case.cpp ../../../data/other-data --config-file=cpptest_output.conf \ No newline at end of file diff --git a/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/input/cpptest_output.conf b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/input/cpptest_output.conf new file mode 100644 index 00000000..9a2f0914 --- /dev/null +++ b/tests-system/lobster-cpptest/rbt-valid-source-input-file-paths/valid-file-and-folder-scenario/input/cpptest_output.conf @@ -0,0 +1,10 @@ +{ + "output": { + "cpptest.lobster" : + { + "markers": ["@requirement"], + "kind": "req" + } + }, + "codebeamer_url": "https://codebeamer.com" +} \ No newline at end of file