Skip to main content

LOBSTER Tool for ISO C/C++

Project description

LOBSTER

The Lightweight Open BMW Software Traceability Evidence Report allows you to demonstrate software traceability and requirements coverage, which is essential for meeting standards such as ISO 26262.

This package contains a tool extract tracing tags from ISO C++ test code. The tracing tags are identified by searching for configurable markers in the comments above the test code.

Tools

This LOBSTER package contains only one tool, lobster-cpptest. It can be used to extract references from C++ tests. The most frequent use case is that, the references point to requirements. But lobstser-cpptest is agnostic to that, and the references can point to any kind of artefact. The references must be given inside a comment above the test case itself.

The resulting *.lobster file will then contain a LOBSTER item per test case. This file can be used to generate a LOBSTER report.

Configuration

The tool requires a YAML configuration file to define its settings. You must provide this file when running the tool to specify parameters to process.

Usage

This tool supports C++ code. For this your C++ tests must have a documentation with markers: They can either be @requirement, @requiredby or @defect. Here is an example:

/**
 * @requirement CB-#1111, CB-#2222,
 *              CB-#3333
 * @requirement CB-#4444 CB-#5555
 *              CB-#6666
 */
TEST(RequirementTagTest1, RequirementsAsMultipleComments) {
  // your test implementation here
}

You can also provide parameters to specify which markers should be extracted from which files. Additionally, you need to provide the Codebeamer URL.

Examples:

output:
    component_tests.lobster:
        markers:
        - "@requirement"
        kind: "req"

    unit_tests.lobster:
        markers:
        - "@requiredby"
        kind: "req"

    other_tests.lobster:
        markers: []
        kind: ""

codebeamer_url: "https://codebeamer.com"

You can also include CPP files in the YAML configuration file.

  files:
    - 'path/to/source1.cpp'
    - 'path/to/source2.cpp'

Note: File paths are accepted only in single quotes.

Technical Aspects

lobster-cpptest now displays a test-name instead of a fixture-name in the lobster-report and lobster-html-report.

Known Issues

Please refer to lobster-cpptest documentation for a full list of known issues.

Copyright & License information

The copyright holder of LOBSTER is the Bayerische Motoren Werke Aktiengesellschaft (BMW AG), and LOBSTER is published under the GNU Affero General Public License, Version 3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bmw_lobster_tool_cpptest-0.13.1-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file bmw_lobster_tool_cpptest-0.13.1-py3-none-any.whl.

File metadata

File hashes

Hashes for bmw_lobster_tool_cpptest-0.13.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5fdb5acd5028e95025cffa08e5d11c0e9ce230b560b337eb77a311a8fb18195b
MD5 f92a5b1cc2f9bdcb6921114269531f11
BLAKE2b-256 db16c1b641c950255b9cee54f3027fae92c5da2ab43c607e67b931b1541cf689

See more details on using hashes here.

Provenance

The following attestation bundles were made for bmw_lobster_tool_cpptest-0.13.1-py3-none-any.whl:

Publisher: package.yml on bmw-software-engineering/lobster

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page