Requirements and Specification
Use Cases
lobster/use_cases.trlc
TRLC Usecase UseCases.Trace_Requirements_to_Tests
As a requirements manager I want to have a report of traceability between requirements (in codebeamer or TRLC) and tests (in C++ or JSON).
Issues:
missing reference to System Requirements
TRLC Usecase UseCases.List_Requirements_to_Tests
As a requirements manager I want the traceability report to show the list of requirements (from codebeamer or TRLC) which are covered by tests (in C++ or JSON).
Issues:
missing reference to System Requirements
TRLC Usecase UseCases.List_Requirements_without_Tests
As a requirements manager I want the traceability report to show the list of requirements (from codebeamer or TRLC) which are not covered by tests (in C++ or JSON).
Issues:
missing reference to System Requirements
TRLC Usecase UseCases.List_Tests_to_Requirements
As a requirements manager I want the traceability report to show the list of tests (in C++ or JSON) covering requirements in (in codebeamer or TRLC).
Issues:
missing reference to System Requirements
TRLC Usecase UseCases.List_Tests_without_Requirements
As a requirements manager I want the traceability report to show the list of tests (in C++ or JSON) which are not covering any requirement in (in codebeamer or TRLC).
Issues:
missing reference to System Requirements
TRLC Usecase UseCases.Requirements_to_Test_Coverage
As a requirements manager I want the traceability report to show the fraction of the number of requirements (in codebeamer or TRLC) which are covered by tests (in C++ or JSON) divided by the total number of requirements. The fraction shall be shown as percentage.
Issues:
missing reference to System Requirements
Potential Errors
TRLC Potentialerror UseCases.Default_Path_Choice
If no input files are specified, the tool might inadvertently use the current working directory (or any other default value for these configuration parameters) as the location to search for input files.
Issues:
missing reference to Test Specifications
Test Specifications
No items recorded at this level.
System Requirements
TRLC System_requirement trlc_req.Input_List_Of_Files
IF the list elements given through the config option "inputs" are files with extension rsl and trlc, THEN all files given in "inputs" parameter shall be consumed.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement_aspect trlc_req.Duplicate_Input_List_Of_Files
IF the [[Input_List_Of_Files]] are files with duplicate definitions. THEN "duplicate_definition" error must be produced.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement_aspect trlc_req.Invalid_Inputs_List_Of_Files_Extensions
IF the [[Input_List_Of_Files]] are with invalid extensions OR neither a file nor a directory, THEN tool shall raise an error.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement trlc_req.Inputs_From_File
IF the element given through the config option "inputs_from_file" is a file, THEN each line in that file shall be interpreted as a path AND shall be consumed.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement_aspect trlc_req.Duplicate_Inputs_From_File
IF the [[Inputs_From_File]] has files that contain duplicate definitions, THEN "duplicate_definition" error must be produced.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement_aspect trlc_req.Invalid_Inputs_From_File_Extensions
IF the [[Inputs_From_File]] has files with invalid extensions OR neither a file nor a directory, THEN tool shall raise an error.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement trlc_req.Input_list_Of_File_And_Inputs_From_File
IF both the config options [[Input_List_Of_Files]] AND [[Inputs_From_File]] are provided, THEN all files given in [[Input_List_Of_Files]] AND [[Inputs_From_File]] parameter shall be consumed.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement_aspect trlc_req.Duplicate_Input_list_Of_File_And_Inputs_From_File
IF both the config options [[Input_List_Of_Files]] AND [[Inputs_From_File]] has duplicate definitions, THEN "duplicate_definition" error must be produced.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement_aspect trlc_req.No_Inputs_At_All
OTHERWISE, IF both the config options [[Input_List_Of_Files]] AND [[Inputs_From_File]] are not provided, THEN no files shall be scanned and consumed.
Issues:
missing up reference
missing reference to Software Requirements
TRLC System_requirement trlc_req.Output_File
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'.
Issues:
missing up reference
missing reference to Software Requirements
missing reference to System Tests
Software Requirements
TRLC Software_requirement trlc_req.Args_From_File
If a command line argument is prefixed with '@', then the contents of that file shall be included as arguments to the argument parser.
Issues:
missing up reference
missing reference to Code
missing reference to Software Tests
Implementation
Code
Python Constructor conversion_rule.ConversionRule.__init__
Python Method conversion_rule.ConversionRule.__hash__
Python Method conversion_rule.ConversionRule.type_name
Python Method conversion_rule.ConversionRule.package_name
Python Method conversion_rule.ConversionRule.applies_to_derived_types
Python Method conversion_rule.ConversionRule.lobster_namespace
Python Method conversion_rule.ConversionRule._as_string_list
Python Method conversion_rule.ConversionRule._as_tag_list
Python Method conversion_rule.ConversionRule.tags
Python Method conversion_rule.ConversionRule.description_fields
Python Method conversion_rule.ConversionRule.justification_up_fields
Python Method conversion_rule.ConversionRule.justification_down_fields
Python Method conversion_rule.ConversionRule.justification_global_fields
Python Function conversion_rule_lookup.build_record_type_to_conversion_rule_lookup
Python Function conversion_rule_lookup._propagate_rule_to_derived_types_recursively
Python Function conversion_rule_lookup.get_record_types
Python Constructor converter.Converter.__init__
Python Method converter.Converter._build_orphan_rules_exception
Python Method converter.Converter.generate_lobster_object
Python Method converter.Converter._generate_text
Python Method converter.Converter._tuple_value_as_string
Python Method converter.Converter._get_description
Python Constructor errors.RecordObjectComponentError.__init__
Python Constructor errors.TupleError.__init__
Python Method errors.TupleError.tuple_details
Python Constructor errors.TupleComponentError.__init__
Python Constructor errors.TupleToStringMissingError.__init__
Python Constructor errors.TupleToStringFailedError.__init__
Python Function hierarchy_tree.build_children_lookup
Python Function instruction.ConstantInstruction
Python Function instruction.FieldInstruction
Python Constructor item_wrapper.ItemWrapper.__init__
Python Method item_wrapper.ItemWrapper.get_field
Python Method item_wrapper.ItemWrapper.get_field_raw
Python Method lobster_trlc_config.LobsterTrlcConfig.from_dict
Python Method lobster_trlc_config.LobsterTrlcConfig._validate_config
Python Method lobster_trlc_config.LobsterTrlcConfig.from_file
lobster/tools/trlc/text_generation.py
Python Function text_generation.parse_instructions
Python Function text_generation.build_text_from_instructions
Python Method to_string_rules.ToStringRules.from_dict
Python Function to_string_rules.build_tuple_type_to_ruleset_map
Python Constructor trlc_tool.LOBSTER_Trlc.__init__
Python Method trlc_tool.LOBSTER_Trlc._run_impl
Python Method trlc_tool.LOBSTER_Trlc._register_trlc_files
Python Method trlc_tool.LOBSTER_Trlc._execute
Python Function trlc_tool.main
Verification and Validation
System Tests
tests_system/lobster_trlc/lobster_trlc_test_runner.py
PyUnit Test lobster_trlc_test_runner.LobsterTrlcTestRunner.run_tool_test:98
tests_system/lobster_trlc/test_conversion.py
PyUnit Test test_conversion.ConversionRuleTest.test_rule_propagation:17
PyUnit Test test_conversion.ConversionRuleTest.test_to_string_rules:81
tests_system/lobster_trlc/test_conversion_errors.py
PyUnit Test test_conversion_errors.ConversionRuleErrorTest.test_field_does_not_exist:7
PyUnit Test test_conversion_errors.ConversionRuleErrorTest.test_to_string_missing:34
PyUnit Test test_conversion_errors.ConversionRuleErrorTest.test_tuple_member_does_not_exist:68
PyUnit Test test_conversion_errors.ConversionRuleErrorTest.test_too_many_conversion_rules:105
PyUnit Test test_input_invalid_extensions.TrlcInvalidExtensionsTest.test_invalid_extensions_inputs_files_list:14
PyUnit Test test_input_invalid_extensions.TrlcInvalidExtensionsTest.test_invalid_extensions_input_from_file:28
PyUnit Test test_input_list_of_files.InputListOfFilesTest.test_input_files_list:13
PyUnit Test test_input_list_of_files.InputListOfFilesTest.test_duplicate_input_files_list:29
PyUnit Test test_input_list_of_files.CmdArgsInputTest.test_input_files_list:54
PyUnit Test test_inputs_and_inputs_from_file.InputFromFilesAndInputsTest.test_input_from_files_and_inputs_list:17
PyUnit Test test_inputs_and_inputs_from_file.InputFromFilesAndInputsTest.test_duplicate_contents_input_from_files_and_inputs_list:34
PyUnit Test test_inputs_from_directory.InputFromDirectory.test_input_from_directory:17
PyUnit Test test_inputs_from_file.InputFromFilesTest.test_input_from_files:14
PyUnit Test test_inputs_from_file.InputFromFilesTest.test_input_from_files_duplicate_contents:30
PyUnit Test test_inputs_zero.ZeroInputTest.test_rsl_input_only:14
PyUnit Test test_inputs_zero.ZeroInputTest.test_no_inputs_at_all:32
PyUnit Test test_inputs_zero.ZeroInputTest.test_orphan_conversion_rules:51
tests_system/lobster_trlc/test_invalid_config.py
PyUnit Test test_invalid_config.InvalidConfigTest.test_nonconformant_yaml:13
tests_system/lobster_trlc/test_output_correctness.py
PyUnit Test test_output_correctness.OutputCorrectnessTest.test_output_correctness:13
Software Tests
tests_unit/lobster_trlc/test_build_text_from_instructions.py
PyUnit Test test_build_text_from_instructions.TextBuildingTest.test_build_text_from_instructions:23
PyUnit Test test_build_text_from_instructions.TextBuildingTest.test_build_text_with_missing_field:41
PyUnit Test test_build_text_from_instructions.TextBuildingTest.test_build_text_with_empty_instructions:52
PyUnit Test test_build_text_from_instructions.TextBuildingTest.test_invalid_instruction_type:58
PyUnit Test test_build_text_from_instructions.TextBuildingTest.test_empty_tuple_data:68
tests_unit/lobster_trlc/test_conversion_rules.py
PyUnit Test test_conversion_rules.ConversionRulesTest.test_empty_conversion_rule_lookup:40
PyUnit Test test_conversion_rules.ConversionRulesTest.test_one_conversion_rule_for_all:53
PyUnit Test test_conversion_rules.ConversionRulesTest.test_many_propagating_conversion_rules:78
PyUnit Test test_conversion_rules.ConversionRulesTest.test_no_propagation:143
PyUnit Test test_conversion_rules.ConversionRulesTest.test_record_type_child_lookup:166
tests_unit/lobster_trlc/test_conversion_rules_order.py
PyUnit Test test_conversion_rules_order.RuleOrderTest.test_order:32
PyUnit Test test_conversion_rules_order.RuleOrderTest.test_get_record_types:100
tests_unit/lobster_trlc/test_converter.py
PyUnit Test test_converter.GenerateLobsterObjectTest.test_empty_rules:30
PyUnit Test test_converter.GenerateLobsterObjectTest.test_one_simple_rule:41
PyUnit Test test_converter.GenerateLobsterObjectTest.test_description_field_missing:75
PyUnit Test test_converter.GenerateLobsterObjectTest.test_optional_field_missing:101
PyUnit Test test_converter.GenerateLobsterObjectTest.test_many_description_fields:123
PyUnit Test test_converter.GenerateLobsterObjectTest.test_tag_field_missing:145
PyUnit Test test_converter.GenerateLobsterObjectTest.test_empty_reference_tag_field:167
PyUnit Test test_converter.GenerateLobsterObjectTest.test_reference_tag_field:185
PyUnit Test test_converter.GenerateLobsterObjectTest.test_text_tag_field:217
PyUnit Test test_converter.GenerateLobsterObjectTest.test_tuple_tag_field:246
PyUnit Test test_converter.GenerateLobsterObjectTest.test_tuple_tag_field_without_to_string:293
PyUnit Test test_converter.GenerateLobsterObjectTest.test_tuple_tag_with_failing_instructions:348
PyUnit Test test_converter.GenerateLobsterObjectTest.test_tuple_tag_with_failing_and_succeeding_instructions:359
PyUnit Test test_converter.GenerateLobsterObjectTest.test_justification_fields:385
tests_unit/lobster_trlc/test_converter_generate_text.py
PyUnit Test test_converter_generate_text.GenerateTextEmptyRulesTest.test_generate_text_from_string_array_field:26
PyUnit Test test_converter_generate_text.GenerateTextEmptyRulesTest.test_generate_text_from_string_field:57
PyUnit Test test_converter_generate_text.GenerateTextEmptyRulesTest.test_generate_text_from_empty_tuple_field:72
PyUnit Test test_converter_generate_text.GenerateTextEmptyRulesTest.test_generate_text_from_tuple_field_missing_tostring:87
PyUnit Test test_converter_generate_text.GenerateTextGivenRulesTest.test_generate_text_from_tuple_field:134
tests_unit/lobster_trlc/test_converter_optional_field.py
PyUnit Test test_converter_optional_field.OptionalFieldTest.test_optional_field_to_string:10
tests_unit/lobster_trlc/test_errors.py
PyUnit Test test_errors.ErrorTest.test_error_constructors:22
tests_unit/lobster_trlc/test_file_collector.py
PyUnit Test test_file_collector.FileCollectorTest.test_extension_validation:8
PyUnit Test test_file_collector.FileCollectorTest.test_add_files:15
tests_unit/lobster_trlc/test_item_wrapper.py
PyUnit Test test_item_wrapper.ItemWrapperTest.test_get_field_existing:7
PyUnit Test test_item_wrapper.ItemWrapperTest.test_get_field_non_existing:24
tests_unit/lobster_trlc/test_parse_instructions.py
PyUnit Test test_parse_instructions.InstructionParsingTest.test_parse_text_generator:7
PyUnit Test test_parse_instructions.InstructionParsingTest.test_parse_text_generator_with_no_fields:23
PyUnit Test test_parse_instructions.InstructionParsingTest.test_parse_text_generator_only_fields:29
tests_unit/lobster_trlc/test_parse_string_instructions.py
PyUnit Test test_parse_string_instructions.InstructionParsingTest.test_parse_text_generator:10
PyUnit Test test_parse_string_instructions.InstructionParsingTest.test_parse_text_generator_with_no_fields:26
PyUnit Test test_parse_string_instructions.InstructionParsingTest.test_parse_text_generator_only_fields:32
tests_unit/lobster_trlc/test_to_string_rules.py
PyUnit Test test_to_string_rules.ToStringRulesTest.test_field_is_tuple_type:14
PyUnit Test test_to_string_rules.ToStringRulesTest.test_field_is_tuple_array_type:93
tests_unit/lobster_trlc/test_to_string_rules_mapping.py
PyUnit Test test_to_string_rules_mapping.BuildMapTest.test_build_map:16