diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e12acda8..607b3319 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,6 @@ permissions: jobs: lint: name: PyLint - needs: test runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 @@ -26,7 +25,7 @@ jobs: make lint test: name: TestSuite - if: success() + needs: lint strategy: matrix: os: [ubuntu-24.04, windows-2022, macos-13, macos-14] @@ -65,3 +64,49 @@ jobs: if: always() run: | util/check_local_modifications.sh + integration-tests: + name: Integration tests + needs: test + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + - name: Install python version + uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + python3 -m pip install -r requirements_dev.txt + sudo apt install cmake ninja-build graphviz + - name: Cache clang-tidy + id: cache-clang-tidy + uses: actions/cache@v4 + with: + path: ~/work/lobster/llvm-project/build/bin/clang-tidy + key: cache-clang-tidy + - if: ${{ steps.cache-clang-tidy.outputs.cache-hit != 'true' }} + name: Build clang-tidy + run: | + make clang-tidy + - if: ${{ steps.cache-clang-tidy.outputs.cache-hit != 'true' }} + name: Save cache + uses: actions/cache/save@v4 + with: + path: ~/work/lobster/llvm-project/build/bin/clang-tidy + key: cache-clang-tidy + - name: Run integration tests + run: | + make integration-tests + - name: Check output files + if: always() + run: | + util/check_local_modifications.sh + failure: + name: Check all jobs + needs: integration-tests + if: ${{ failure() || cancelled() }} + runs-on: ubuntu-24.04 + steps: + - name: Failure + run: exit 1 diff --git a/Makefile b/Makefile index 116549e9..e20706ce 100644 --- a/Makefile +++ b/Makefile @@ -41,22 +41,28 @@ packages: diff -Naur test_install/lib/python*/site-packages/lobster test_install_monolithic/lib/python*/site-packages/lobster -x "*.pyc" diff -Naur test_install/bin test_install_monolithic/bin +clang-tidy: + cd .. && \ + git clone https://github.com/bmw-software-engineering/llvm-project && \ + cd llvm-project && \ + cmake -S llvm -B build -G Ninja -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra' -DCMAKE_BUILD_TYPE=Release && \ + cmake --build build --target clang-tidy + integration-tests: packages - (cd integration-tests/projects/basic; make) - (cd integration-tests/projects/filter; make) + (cd tests-integration/projects/basic; make) + (cd tests-integration/projects/filter; make) + rm -f MODULE.bazel MODULE.bazel.lock system-tests: mkdir -p docs - make -B -C test-system/lobster-json - make -B -C test-system/lobster-python + make -B -C tests-system/lobster-json + make -B -C tests-system/lobster-python unit-tests: coverage run -p \ --branch --rcfile=coverage.cfg \ --data-file .coverage \ - -m unittest discover -s test-unit -v - -test: integration-tests system-tests unit-tests + -m unittest discover -s tests-unit -v upload-main: packages python3 -m twine upload --repository pypi packages/*/dist/* @@ -82,9 +88,14 @@ full-release: coverage: coverage combine -q coverage html --rcfile=coverage.cfg - coverage report --rcfile=coverage.cfg --fail-under=57 + coverage report --rcfile=coverage.cfg --fail-under=72 + +test: system-tests unit-tests + make coverage + util/check_local_modifications.sh -test-ci: system-tests unit-tests coverage +test-all: integration-tests system-tests unit-tests + make coverage util/check_local_modifications.sh docs: @@ -117,10 +128,10 @@ requirements.lobster: lobster/tools/trlc/requirements.trlc \ code.lobster: $(wildcard lobster/tools/trlc/*.py) lobster-python --out code.lobster lobster/tools/trlc -unit-tests.lobster: $(wildcard test-unit/lobster-trlc/*.py) - lobster-python --activity --out unit-tests.lobster test-unit/lobster-trlc +unit-tests.lobster: $(wildcard tests-unit/lobster-trlc/*.py) + lobster-python --activity --out unit-tests.lobster tests-unit/lobster-trlc -system-tests.lobster: $(wildcard test-system/*/*.rsl) \ - $(wildcard test-system/*/*.trlc) \ - $(wildcard test-system/*/tracing) - python3 test-system/lobster-trlc/lobster-trlc-system-test.py +system-tests.lobster: $(wildcard tests-system/*/*.rsl) \ + $(wildcard tests-system/*/*.trlc) \ + $(wildcard tests-system/*/tracing) + python3 tests-system/lobster-trlc/lobster-trlc-system-test.py diff --git a/coverage.cfg b/coverage.cfg index 85c4728c..b6872154 100644 --- a/coverage.cfg +++ b/coverage.cfg @@ -13,4 +13,4 @@ exclude_lines = omit = /usr/* */site-packages/* - test-unit/* + tests-unit/* diff --git a/documentation/example_report.html b/documentation/example_report.html index c8238ccd..b030fda9 100644 --- a/documentation/example_report.html +++ b/documentation/example_report.html @@ -260,17 +260,17 @@

Coverage

Tracing policy

- + LOBSTER Tracing Policy - + n_419cfc02b324dc7d8faefa90ed608fb0 - -System Requirements + +System Requirements @@ -278,46 +278,46 @@

Tracing policy

n_9d273bd32c1fceb91b7d6a4d40e98bdd - -Software Requirements + +Software Requirements n_419cfc02b324dc7d8faefa90ed608fb0->n_9d273bd32c1fceb91b7d6a4d40e98bdd - - + + n_ca0dbad92a874b2f69b549293387925e -Code +Code n_9d273bd32c1fceb91b7d6a4d40e98bdd->n_ca0dbad92a874b2f69b549293387925e - - + + n_840c3e13412933b0e3f7394f4c7fecb0 - -Verification Test + +Verification Test n_9d273bd32c1fceb91b7d6a4d40e98bdd->n_840c3e13412933b0e3f7394f4c7fecb0 - - + + @@ -347,7 +347,7 @@

System Requirements

Codebeamer https://potato.kitten, tracker 12345
-
codebeamer Functional requirement LOBSTER demo
+
! codebeamer Functional requirement LOBSTER demo
Source: cb item 666 'LOBSTER demo' @@ -375,13 +375,13 @@
Codebeamer https://potato.kitten, tracker 12345

Software Requirements

-
integration-tests/projects/basic/potato.trlc
+
tests-integration/projects/basic/potato.trlc
-
TRLC Tagged_requirement example.req_implication
+
TRLC Tagged_requirement example.req_implication
text: provide a utility function for logical implication
@@ -403,10 +403,10 @@
integration-tests/projects/basic/potato.trlc
-
TRLC Tagged_requirement example.req_xor
+
! TRLC Tagged_requirement example.req_xor
text: provide a utility function for logical exclusive or
@@ -415,8 +415,8 @@
integration-tests/projects/basic/potato.trlc
Traces to:
Derived from: @@ -434,10 +434,10 @@
integration-tests/projects/basic/potato.trlc
-
TRLC Tagged_requirement example.req_nand
+
TRLC Tagged_requirement example.req_nand
text: provide a utility function for logical negated and

extra_text: potato
@@ -460,10 +460,10 @@
integration-tests/projects/basic/potato.trlc
-
TRLC Requirement example.req_nor
+
! TRLC Requirement example.req_nor
provide a utility function for logical negated or
@@ -487,10 +487,10 @@
integration-tests/projects/basic/potato.trlc
-
TRLC Requirement example.req_implies
+
TRLC Requirement example.req_implies
provide a utility function for logical implication
@@ -507,10 +507,10 @@
integration-tests/projects/basic/potato.trlc
-
TRLC Linked_requirement example.req_important
+
! TRLC Linked_requirement example.req_important
this is important
@@ -533,13 +533,13 @@
integration-tests/projects/basic/potato.trlc

Implementation

Code

-
integration-tests/projects/basic/exclusive_or.slx
+
tests-integration/projects/basic/exclusive_or.slx
-
Simulink Block exclusive_or
+
! Simulink Block exclusive_or
Issues: @@ -552,10 +552,10 @@
integration-tests/projects/basic/exclusive_or.slx
-
Simulink Block exclusive_or/My Exclusive Or
+
Simulink Block exclusive_or/My Exclusive Or
Derived from: @@ -568,10 +568,10 @@
integration-tests/projects/basic/exclusive_or.slx
-
MATLAB Function exclusive_or/MATLAB Function
+
! MATLAB Function exclusive_or/MATLAB Function
Issues: @@ -582,13 +582,13 @@
integration-tests/projects/basic/exclusive_or.slx
-
integration-tests/projects/basic/foo.cpp
+
tests-integration/projects/basic/foo.cpp
-
C/C++ Function implication
+
C/C++ Function implication
Derived from: @@ -601,10 +601,10 @@
integration-tests/projects/basic/foo.cpp
-
C/C++ Function exclusive_or
+
! C/C++ Function exclusive_or
Issues: @@ -617,10 +617,10 @@
integration-tests/projects/basic/foo.cpp
-
C/C++ Function potato
+
! C/C++ Function potato
Issues: @@ -632,13 +632,13 @@
integration-tests/projects/basic/foo.cpp
-
integration-tests/projects/basic/nand.m
+
tests-integration/projects/basic/nand.m
-
MATLAB Function nand
+
MATLAB Function nand
Derived from: @@ -649,13 +649,13 @@
integration-tests/projects/basic/nand.m
-
integration-tests/projects/basic/nor.py
+
tests-integration/projects/basic/nor.py
-
Python Function nor.trlc_reference
+
Python Function nor.trlc_reference
Justifications: @@ -668,10 +668,10 @@
integration-tests/projects/basic/nor.py
-
Python Method nor.Example.helper_function
+
Python Method nor.Example.helper_function
Derived from: @@ -684,10 +684,10 @@
integration-tests/projects/basic/nor.py
-
Python Method nor.Example.nor
+
Python Method nor.Example.nor
Derived from: @@ -700,13 +700,13 @@
integration-tests/projects/basic/nor.py

Verification and Validation

Verification Test

-
integration-tests/projects/basic/example.json
- -
-
JSON Test vector XOR Test 1
+
tests-integration/projects/basic/example.json
+ +
+
JSON Test vector example.json:XOR Test 1
Derived from: @@ -717,12 +717,12 @@
integration-tests/projects/basic/example.json
- -
-
JSON Test vector XOR Test 2
+ +
+
JSON Test vector example.json:XOR Test 2
Derived from: @@ -733,12 +733,12 @@
integration-tests/projects/basic/example.json
- -
-
JSON Test vector Potato Test 1
+ +
+
JSON Test vector example.json:Potato Test 1
Justifications: @@ -749,13 +749,13 @@
integration-tests/projects/basic/example.json
-
integration-tests/projects/basic/nand_test.m
+
tests-integration/projects/basic/nand_test.m
-
MATLAB Test nand_test::test_1
+
MATLAB Test nand_test::test_1
Derived from: @@ -766,13 +766,13 @@
integration-tests/projects/basic/nand_test.m
-
integration-tests/projects/basic/test.cpp
+
tests-integration/projects/basic/test.cpp
-
GoogleTest Test ImplicationTest:BasicTest
+
GoogleTest Test ImplicationTest:BasicTest
Derived from: diff --git a/integration-tests/projects/basic/ci_report.reference_output b/integration-tests/projects/basic/ci_report.reference_output deleted file mode 100644 index 8d692f03..00000000 --- a/integration-tests/projects/basic/ci_report.reference_output +++ /dev/null @@ -1,11 +0,0 @@ -integration-tests/projects/basic/foo.cpp:9: lobster error: missing up reference -integration-tests/projects/basic/foo.cpp:14: lobster error: unknown tracing target req example.doesnt_exist -integration-tests/projects/basic/foo.cpp:14: lobster error: missing up reference -integration-tests/projects/basic/exclusive_or.slx:1: lobster error: missing up reference -cb item 666 'LOBSTER demo': lobster error: status is Potato, expected Valid -integration-tests/projects/basic/potato.trlc:39: lobster error: missing reference to Code -integration-tests/projects/basic/potato.trlc:39: lobster error: missing reference to Verification Test -integration-tests/projects/basic/potato.trlc:22: lobster error: missing up reference -integration-tests/projects/basic/potato.trlc:22: lobster error: missing reference to Verification Test -integration-tests/projects/basic/potato.trlc:9: lobster error: tracing destination req 12345 has version 42 (expected 5) -integration-tests/projects/basic/exclusive_or.slx: lobster error: missing up reference diff --git a/integration-tests/projects/basic/potato.check b/integration-tests/projects/basic/potato.check deleted file mode 100644 index 7266b00d..00000000 --- a/integration-tests/projects/basic/potato.check +++ /dev/null @@ -1,5 +0,0 @@ -package example - -checks Requirement { - trlc:len(text) >= 10, warning "this is a bit short", text -} \ No newline at end of file diff --git a/integration-tests/projects/filter/BUILD b/integration-tests/projects/filter/BUILD deleted file mode 100644 index d8663c9b..00000000 --- a/integration-tests/projects/filter/BUILD +++ /dev/null @@ -1,12 +0,0 @@ -cc_library( - name = "foofunc", - srcs = ["foo.h", "foo.cpp"] -) - -cc_test( - name = "foo_test", - srcs = ["test.cpp"], - deps = ["@com_google_googletest//:gtest_main", - "foofunc", - "//support/gtest/include:lobster_gtest"] -) diff --git a/lobster/report.py b/lobster/report.py index c4140492..ad20689d 100644 --- a/lobster/report.py +++ b/lobster/report.py @@ -118,6 +118,7 @@ def write_report(self, filename): with open(filename, "w", encoding="UTF-8") as fd: json.dump(report, fd, indent=2) + fd.write("\n") def load_report(self, filename): assert isinstance(filename, str) diff --git a/integration-tests/projects/basic/.gitignore b/tests-integration/projects/basic/.gitignore similarity index 100% rename from integration-tests/projects/basic/.gitignore rename to tests-integration/projects/basic/.gitignore diff --git a/integration-tests/projects/basic/BUILD b/tests-integration/projects/basic/BUILD similarity index 100% rename from integration-tests/projects/basic/BUILD rename to tests-integration/projects/basic/BUILD diff --git a/integration-tests/projects/basic/Makefile b/tests-integration/projects/basic/Makefile similarity index 89% rename from integration-tests/projects/basic/Makefile rename to tests-integration/projects/basic/Makefile index 908cfb6f..e15f644e 100644 --- a/integration-tests/projects/basic/Makefile +++ b/tests-integration/projects/basic/Makefile @@ -14,7 +14,6 @@ html_report.html: cppcode.lobster gtests.lobster mcode.lobster system-requiremen @lobster-online-report @cp report.lobster report.reference_output @lobster-html-report - @cp lobster_report.html ../../../documentation/example_report.html @lobster-ci-report | tee ci_report.reference_output cppcode.lobster: foo.h foo.cpp @@ -37,8 +36,8 @@ pycode.lobster: nor.py --out="pycode.lobster" \ --parse-decorator trlc_reference requirement -software-requirements.lobster: potato.rsl potato.check potato.trlc - @lobster-trlc *.rsl *.check *.trlc \ +software-requirements.lobster: potato.rsl potato.trlc + @lobster-trlc *.rsl *.trlc \ --out="software-requirements.lobster" json.lobster: example.json diff --git a/integration-tests/projects/basic/ci_report b/tests-integration/projects/basic/ci_report similarity index 100% rename from integration-tests/projects/basic/ci_report rename to tests-integration/projects/basic/ci_report diff --git a/tests-integration/projects/basic/ci_report.reference_output b/tests-integration/projects/basic/ci_report.reference_output new file mode 100644 index 00000000..3c41be1e --- /dev/null +++ b/tests-integration/projects/basic/ci_report.reference_output @@ -0,0 +1,11 @@ +tests-integration/projects/basic/foo.cpp:9: lobster error: missing up reference +tests-integration/projects/basic/foo.cpp:14: lobster error: unknown tracing target req example.doesnt_exist +tests-integration/projects/basic/foo.cpp:14: lobster error: missing up reference +tests-integration/projects/basic/exclusive_or.slx:1: lobster error: missing up reference +cb item 666 'LOBSTER demo': lobster error: status is Potato, expected Valid +tests-integration/projects/basic/potato.trlc:39: lobster error: missing reference to Code +tests-integration/projects/basic/potato.trlc:39: lobster error: missing reference to Verification Test +tests-integration/projects/basic/potato.trlc:22: lobster error: missing up reference +tests-integration/projects/basic/potato.trlc:22: lobster error: missing reference to Verification Test +tests-integration/projects/basic/potato.trlc:9: lobster error: tracing destination req 12345 has version 42 (expected 5) +tests-integration/projects/basic/exclusive_or.slx: lobster error: missing up reference diff --git a/integration-tests/projects/basic/example.json b/tests-integration/projects/basic/example.json similarity index 100% rename from integration-tests/projects/basic/example.json rename to tests-integration/projects/basic/example.json diff --git a/integration-tests/projects/basic/exclusive_or.slx b/tests-integration/projects/basic/exclusive_or.slx similarity index 100% rename from integration-tests/projects/basic/exclusive_or.slx rename to tests-integration/projects/basic/exclusive_or.slx diff --git a/integration-tests/projects/basic/foo.cpp b/tests-integration/projects/basic/foo.cpp similarity index 100% rename from integration-tests/projects/basic/foo.cpp rename to tests-integration/projects/basic/foo.cpp diff --git a/integration-tests/projects/basic/foo.h b/tests-integration/projects/basic/foo.h similarity index 100% rename from integration-tests/projects/basic/foo.h rename to tests-integration/projects/basic/foo.h diff --git a/integration-tests/projects/basic/lobster-trlc.conf b/tests-integration/projects/basic/lobster-trlc.conf similarity index 100% rename from integration-tests/projects/basic/lobster-trlc.conf rename to tests-integration/projects/basic/lobster-trlc.conf diff --git a/integration-tests/projects/basic/lobster.conf b/tests-integration/projects/basic/lobster.conf similarity index 100% rename from integration-tests/projects/basic/lobster.conf rename to tests-integration/projects/basic/lobster.conf diff --git a/integration-tests/projects/basic/lobster.h b/tests-integration/projects/basic/lobster.h similarity index 100% rename from integration-tests/projects/basic/lobster.h rename to tests-integration/projects/basic/lobster.h diff --git a/integration-tests/projects/basic/nand.m b/tests-integration/projects/basic/nand.m similarity index 100% rename from integration-tests/projects/basic/nand.m rename to tests-integration/projects/basic/nand.m diff --git a/integration-tests/projects/basic/nand_test.m b/tests-integration/projects/basic/nand_test.m similarity index 100% rename from integration-tests/projects/basic/nand_test.m rename to tests-integration/projects/basic/nand_test.m diff --git a/integration-tests/projects/basic/nor.py b/tests-integration/projects/basic/nor.py similarity index 100% rename from integration-tests/projects/basic/nor.py rename to tests-integration/projects/basic/nor.py diff --git a/integration-tests/projects/basic/potato.rsl b/tests-integration/projects/basic/potato.rsl similarity index 84% rename from integration-tests/projects/basic/potato.rsl rename to tests-integration/projects/basic/potato.rsl index ad0a58a9..9896cb0b 100644 --- a/integration-tests/projects/basic/potato.rsl +++ b/tests-integration/projects/basic/potato.rsl @@ -28,3 +28,7 @@ type Linked_Requirement extends Requirement { trace_trlc optional Requirement [1 .. *] } + +checks Requirement { + len(text) >= 10, warning "this is a bit short", text +} diff --git a/integration-tests/projects/basic/potato.trlc b/tests-integration/projects/basic/potato.trlc similarity index 100% rename from integration-tests/projects/basic/potato.trlc rename to tests-integration/projects/basic/potato.trlc diff --git a/integration-tests/projects/basic/report.reference_output b/tests-integration/projects/basic/report.reference_output similarity index 92% rename from integration-tests/projects/basic/report.reference_output rename to tests-integration/projects/basic/report.reference_output index f728f25d..e8121159 100644 --- a/integration-tests/projects/basic/report.reference_output +++ b/tests-integration/projects/basic/report.reference_output @@ -49,7 +49,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/potato.trlc", + "file": "tests-integration/projects/basic/potato.trlc", "line": 3 }, "name": "example.req_implication", @@ -76,7 +76,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/potato.trlc", + "file": "tests-integration/projects/basic/potato.trlc", "line": 9 }, "name": "example.req_xor", @@ -106,7 +106,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/potato.trlc", + "file": "tests-integration/projects/basic/potato.trlc", "line": 15 }, "name": "example.req_nand", @@ -134,7 +134,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/potato.trlc", + "file": "tests-integration/projects/basic/potato.trlc", "line": 22 }, "name": "example.req_nor", @@ -163,7 +163,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/potato.trlc", + "file": "tests-integration/projects/basic/potato.trlc", "line": 27 }, "name": "example.req_implies", @@ -187,7 +187,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/potato.trlc", + "file": "tests-integration/projects/basic/potato.trlc", "line": 39 }, "name": "example.req_important", @@ -222,7 +222,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/foo.cpp", + "file": "tests-integration/projects/basic/foo.cpp", "line": 3 }, "name": "implication", @@ -244,7 +244,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/foo.cpp", + "file": "tests-integration/projects/basic/foo.cpp", "line": 9 }, "name": "exclusive_or", @@ -264,7 +264,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/foo.cpp", + "file": "tests-integration/projects/basic/foo.cpp", "line": 14 }, "name": "potato", @@ -285,7 +285,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/nand.m", + "file": "tests-integration/projects/basic/nand.m", "line": 1 }, "name": "nand", @@ -307,7 +307,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/exclusive_or.slx", + "file": "tests-integration/projects/basic/exclusive_or.slx", "line": 1 }, "name": "exclusive_or/MATLAB Function", @@ -327,7 +327,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/exclusive_or.slx", + "file": "tests-integration/projects/basic/exclusive_or.slx", "line": null }, "name": "exclusive_or", @@ -347,7 +347,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/exclusive_or.slx", + "file": "tests-integration/projects/basic/exclusive_or.slx", "line": null }, "name": "exclusive_or/My Exclusive Or", @@ -369,7 +369,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/nor.py", + "file": "tests-integration/projects/basic/nor.py", "line": 5 }, "name": "nor.trlc_reference", @@ -389,7 +389,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/nor.py", + "file": "tests-integration/projects/basic/nor.py", "line": 13 }, "name": "nor.Example.helper_function", @@ -411,7 +411,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/nor.py", + "file": "tests-integration/projects/basic/nor.py", "line": 17 }, "name": "nor.Example.nor", @@ -440,7 +440,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/test.cpp", + "file": "tests-integration/projects/basic/test.cpp", "line": 7 }, "name": "ImplicationTest:BasicTest", @@ -463,7 +463,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/nand_test.m", + "file": "tests-integration/projects/basic/nand_test.m", "line": 3 }, "name": "nand_test::test_1", @@ -486,7 +486,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/example.json", + "file": "tests-integration/projects/basic/example.json", "line": null }, "name": "example.json:XOR Test 1", @@ -509,7 +509,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/example.json", + "file": "tests-integration/projects/basic/example.json", "line": null }, "name": "example.json:XOR Test 2", @@ -532,7 +532,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/basic/example.json", + "file": "tests-integration/projects/basic/example.json", "line": null }, "name": "example.json:Potato Test 1", @@ -647,4 +647,4 @@ } }, "matrix": [] -} \ No newline at end of file +} diff --git a/integration-tests/projects/basic/system-requirements.lobster b/tests-integration/projects/basic/system-requirements.lobster similarity index 100% rename from integration-tests/projects/basic/system-requirements.lobster rename to tests-integration/projects/basic/system-requirements.lobster diff --git a/integration-tests/projects/basic/test.cpp b/tests-integration/projects/basic/test.cpp similarity index 100% rename from integration-tests/projects/basic/test.cpp rename to tests-integration/projects/basic/test.cpp diff --git a/integration-tests/projects/filter/.gitignore b/tests-integration/projects/filter/.gitignore similarity index 100% rename from integration-tests/projects/filter/.gitignore rename to tests-integration/projects/filter/.gitignore diff --git a/integration-tests/projects/filter/Makefile b/tests-integration/projects/filter/Makefile similarity index 100% rename from integration-tests/projects/filter/Makefile rename to tests-integration/projects/filter/Makefile diff --git a/integration-tests/projects/filter/example.rsl b/tests-integration/projects/filter/example.rsl similarity index 100% rename from integration-tests/projects/filter/example.rsl rename to tests-integration/projects/filter/example.rsl diff --git a/integration-tests/projects/filter/foo.cpp b/tests-integration/projects/filter/foo.cpp similarity index 100% rename from integration-tests/projects/filter/foo.cpp rename to tests-integration/projects/filter/foo.cpp diff --git a/integration-tests/projects/filter/foo.h b/tests-integration/projects/filter/foo.h similarity index 100% rename from integration-tests/projects/filter/foo.h rename to tests-integration/projects/filter/foo.h diff --git a/integration-tests/projects/filter/lobster-trlc.conf b/tests-integration/projects/filter/lobster-trlc.conf similarity index 100% rename from integration-tests/projects/filter/lobster-trlc.conf rename to tests-integration/projects/filter/lobster-trlc.conf diff --git a/integration-tests/projects/filter/lobster.conf b/tests-integration/projects/filter/lobster.conf similarity index 100% rename from integration-tests/projects/filter/lobster.conf rename to tests-integration/projects/filter/lobster.conf diff --git a/integration-tests/projects/filter/report.reference_output b/tests-integration/projects/filter/report.reference_output similarity index 93% rename from integration-tests/projects/filter/report.reference_output rename to tests-integration/projects/filter/report.reference_output index 0085a7bd..49f0b68b 100644 --- a/integration-tests/projects/filter/report.reference_output +++ b/tests-integration/projects/filter/report.reference_output @@ -13,7 +13,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/sysreq_example.trlc", + "file": "tests-integration/projects/filter/sysreq_example.trlc", "line": 4 }, "name": "sysreq_example.lobster_example", @@ -38,7 +38,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/sysreq_example.trlc", + "file": "tests-integration/projects/filter/sysreq_example.trlc", "line": 11 }, "name": "sysreq_example.req_implication", @@ -62,7 +62,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/sysreq_example.trlc", + "file": "tests-integration/projects/filter/sysreq_example.trlc", "line": 19 }, "name": "sysreq_example.req_xor", @@ -93,7 +93,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/softreq_example.trlc", + "file": "tests-integration/projects/filter/softreq_example.trlc", "line": 5 }, "name": "softreq_example.req_implication", @@ -122,7 +122,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/softreq_example.trlc", + "file": "tests-integration/projects/filter/softreq_example.trlc", "line": 17 }, "name": "softreq_example.req_xor", @@ -160,7 +160,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/foo.cpp", + "file": "tests-integration/projects/filter/foo.cpp", "line": 3 }, "name": "implication", @@ -182,7 +182,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/foo.cpp", + "file": "tests-integration/projects/filter/foo.cpp", "line": 9 }, "name": "exclusive_or", @@ -211,7 +211,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/test_example.json", + "file": "tests-integration/projects/filter/test_example.json", "line": null }, "name": "test_example.json:Implication Test 1", @@ -234,7 +234,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/test_example.json", + "file": "tests-integration/projects/filter/test_example.json", "line": null }, "name": "test_example.json:Implication Test 2", @@ -257,7 +257,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/test_example.json", + "file": "tests-integration/projects/filter/test_example.json", "line": null }, "name": "test_example.json:XOR Test 1", @@ -280,7 +280,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/test_example.json", + "file": "tests-integration/projects/filter/test_example.json", "line": null }, "name": "test_example.json:XOR Test 2", @@ -303,7 +303,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/test_example.json", + "file": "tests-integration/projects/filter/test_example.json", "line": null }, "name": "test_example.json:XOR Test 3", @@ -326,7 +326,7 @@ "kind": "github", "gh_root": "https://github.com/bmw-software-engineering/lobster", "commit": "main", - "file": "integration-tests/projects/filter/test_example.json", + "file": "tests-integration/projects/filter/test_example.json", "line": null }, "name": "test_example.json:XOR Test 4", @@ -435,4 +435,4 @@ } }, "matrix": [] -} \ No newline at end of file +} diff --git a/integration-tests/projects/filter/softreq_example.trlc b/tests-integration/projects/filter/softreq_example.trlc similarity index 100% rename from integration-tests/projects/filter/softreq_example.trlc rename to tests-integration/projects/filter/softreq_example.trlc diff --git a/integration-tests/projects/filter/sysreq_example.trlc b/tests-integration/projects/filter/sysreq_example.trlc similarity index 100% rename from integration-tests/projects/filter/sysreq_example.trlc rename to tests-integration/projects/filter/sysreq_example.trlc diff --git a/integration-tests/projects/filter/test_example.json b/tests-integration/projects/filter/test_example.json similarity index 100% rename from integration-tests/projects/filter/test_example.json rename to tests-integration/projects/filter/test_example.json diff --git a/test-system/lobster-json/Makefile b/tests-system/lobster-json/Makefile similarity index 93% rename from test-system/lobster-json/Makefile rename to tests-system/lobster-json/Makefile index 3f3f880a..340c21f7 100644 --- a/test-system/lobster-json/Makefile +++ b/tests-system/lobster-json/Makefile @@ -5,7 +5,7 @@ TARGETS=$(addsuffix .output, $(basename $(wildcard *.input))) all: $(TARGETS) %.output: %.input - @tail +2 $< > $*.json + @tail -n +2 $< > $*.json @touch $*.lobster -@coverage run -p --rcfile=../../coverage.cfg --branch \ --data-file ../../.coverage \ diff --git a/test-system/lobster-json/basic.input b/tests-system/lobster-json/basic.input similarity index 100% rename from test-system/lobster-json/basic.input rename to tests-system/lobster-json/basic.input diff --git a/test-system/lobster-json/basic.output b/tests-system/lobster-json/basic.output similarity index 100% rename from test-system/lobster-json/basic.output rename to tests-system/lobster-json/basic.output diff --git a/test-system/lobster-json/basic2.input b/tests-system/lobster-json/basic2.input similarity index 100% rename from test-system/lobster-json/basic2.input rename to tests-system/lobster-json/basic2.input diff --git a/test-system/lobster-json/basic2.output b/tests-system/lobster-json/basic2.output similarity index 100% rename from test-system/lobster-json/basic2.output rename to tests-system/lobster-json/basic2.output diff --git a/test-system/lobster-json/nested.input b/tests-system/lobster-json/nested.input similarity index 100% rename from test-system/lobster-json/nested.input rename to tests-system/lobster-json/nested.input diff --git a/test-system/lobster-json/nested.output b/tests-system/lobster-json/nested.output similarity index 100% rename from test-system/lobster-json/nested.output rename to tests-system/lobster-json/nested.output diff --git a/test-system/lobster-json/single1.input b/tests-system/lobster-json/single1.input similarity index 100% rename from test-system/lobster-json/single1.input rename to tests-system/lobster-json/single1.input diff --git a/test-system/lobster-json/single1.output b/tests-system/lobster-json/single1.output similarity index 100% rename from test-system/lobster-json/single1.output rename to tests-system/lobster-json/single1.output diff --git a/test-system/lobster-json/single2.input b/tests-system/lobster-json/single2.input similarity index 100% rename from test-system/lobster-json/single2.input rename to tests-system/lobster-json/single2.input diff --git a/test-system/lobster-json/single2.output b/tests-system/lobster-json/single2.output similarity index 100% rename from test-system/lobster-json/single2.output rename to tests-system/lobster-json/single2.output diff --git a/test-system/lobster-json/single3.input b/tests-system/lobster-json/single3.input similarity index 100% rename from test-system/lobster-json/single3.input rename to tests-system/lobster-json/single3.input diff --git a/test-system/lobster-json/single3.output b/tests-system/lobster-json/single3.output similarity index 100% rename from test-system/lobster-json/single3.output rename to tests-system/lobster-json/single3.output diff --git a/test-system/lobster-json/single4.input b/tests-system/lobster-json/single4.input similarity index 100% rename from test-system/lobster-json/single4.input rename to tests-system/lobster-json/single4.input diff --git a/test-system/lobster-json/single4.output b/tests-system/lobster-json/single4.output similarity index 100% rename from test-system/lobster-json/single4.output rename to tests-system/lobster-json/single4.output diff --git a/test-system/lobster-python/Makefile b/tests-system/lobster-python/Makefile similarity index 100% rename from test-system/lobster-python/Makefile rename to tests-system/lobster-python/Makefile diff --git a/test-system/lobster-python/basic.output b/tests-system/lobster-python/basic.output similarity index 100% rename from test-system/lobster-python/basic.output rename to tests-system/lobster-python/basic.output diff --git a/test-system/lobster-python/basic.py b/tests-system/lobster-python/basic.py similarity index 100% rename from test-system/lobster-python/basic.py rename to tests-system/lobster-python/basic.py diff --git a/test-system/lobster-python/multiple_identical_function_names.output b/tests-system/lobster-python/multiple_identical_function_names.output similarity index 100% rename from test-system/lobster-python/multiple_identical_function_names.output rename to tests-system/lobster-python/multiple_identical_function_names.output diff --git a/test-system/lobster-python/multiple_identical_function_names.py b/tests-system/lobster-python/multiple_identical_function_names.py similarity index 100% rename from test-system/lobster-python/multiple_identical_function_names.py rename to tests-system/lobster-python/multiple_identical_function_names.py diff --git a/test-system/lobster-python/pytest_mark.output b/tests-system/lobster-python/pytest_mark.output similarity index 100% rename from test-system/lobster-python/pytest_mark.output rename to tests-system/lobster-python/pytest_mark.output diff --git a/test-system/lobster-python/pytest_mark.py b/tests-system/lobster-python/pytest_mark.py similarity index 100% rename from test-system/lobster-python/pytest_mark.py rename to tests-system/lobster-python/pytest_mark.py diff --git a/test-system/lobster-trlc/lobster-trlc-system-test.py b/tests-system/lobster-trlc/lobster-trlc-system-test.py similarity index 100% rename from test-system/lobster-trlc/lobster-trlc-system-test.py rename to tests-system/lobster-trlc/lobster-trlc-system-test.py diff --git a/test-system/lobster-trlc/rbt-output-file/.gitkeep b/tests-system/lobster-trlc/rbt-output-file/.gitkeep similarity index 100% rename from test-system/lobster-trlc/rbt-output-file/.gitkeep rename to tests-system/lobster-trlc/rbt-output-file/.gitkeep diff --git a/test-unit/lobster-codebeamer/__init__.py b/tests-unit/lobster-codebeamer/__init__.py similarity index 100% rename from test-unit/lobster-codebeamer/__init__.py rename to tests-unit/lobster-codebeamer/__init__.py diff --git a/test-unit/lobster-codebeamer/test_codebeamer.py b/tests-unit/lobster-codebeamer/test_codebeamer.py similarity index 100% rename from test-unit/lobster-codebeamer/test_codebeamer.py rename to tests-unit/lobster-codebeamer/test_codebeamer.py diff --git a/test-unit/lobster-codebeamer/test_codebeamer_schema.py b/tests-unit/lobster-codebeamer/test_codebeamer_schema.py similarity index 100% rename from test-unit/lobster-codebeamer/test_codebeamer_schema.py rename to tests-unit/lobster-codebeamer/test_codebeamer_schema.py diff --git a/test-unit/lobster-cpptest/__init__.py b/tests-unit/lobster-cpptest/__init__.py similarity index 100% rename from test-unit/lobster-cpptest/__init__.py rename to tests-unit/lobster-cpptest/__init__.py diff --git a/test-unit/lobster-cpptest/data/test_1.config b/tests-unit/lobster-cpptest/data/test_1.config similarity index 100% rename from test-unit/lobster-cpptest/data/test_1.config rename to tests-unit/lobster-cpptest/data/test_1.config diff --git a/test-unit/lobster-cpptest/data/test_2.config b/tests-unit/lobster-cpptest/data/test_2.config similarity index 100% rename from test-unit/lobster-cpptest/data/test_2.config rename to tests-unit/lobster-cpptest/data/test_2.config diff --git a/test-unit/lobster-cpptest/data/test_case.cpp b/tests-unit/lobster-cpptest/data/test_case.cpp similarity index 100% rename from test-unit/lobster-cpptest/data/test_case.cpp rename to tests-unit/lobster-cpptest/data/test_case.cpp diff --git a/test-unit/lobster-cpptest/test_cpptest.py b/tests-unit/lobster-cpptest/test_cpptest.py similarity index 100% rename from test-unit/lobster-cpptest/test_cpptest.py rename to tests-unit/lobster-cpptest/test_cpptest.py diff --git a/test-unit/lobster-trlc/.gitkeep b/tests-unit/lobster-trlc/.gitkeep similarity index 100% rename from test-unit/lobster-trlc/.gitkeep rename to tests-unit/lobster-trlc/.gitkeep diff --git a/test-unit/test_io.py b/tests-unit/test_io.py similarity index 100% rename from test-unit/test_io.py rename to tests-unit/test_io.py diff --git a/test-unit/test_items.py b/tests-unit/test_items.py similarity index 100% rename from test-unit/test_items.py rename to tests-unit/test_items.py diff --git a/test-unit/test_json.py b/tests-unit/test_json.py similarity index 100% rename from test-unit/test_json.py rename to tests-unit/test_json.py