The SPDX testbed provides tasks that are meant to be solved by external SPDX tools/libraries to prove their capability in handling SPDX documents.
This is currently under development and not yet stable.
You can build the testbed locally using ./gradlew :testbed:shadowJar and then
find testbed-*-all.jar in testbed/build/libs/.
The testbed is a CLI application. After building the executable jar (see above), you can check its usage via
java -jar testbed-*-all.jar -h
The most important parameters are -t and -c for selecting which test cases to run, and -f for
specifying the input files provided by the external SPDX tool. For example,
java -jar testbed-*-all.jar -t generationMinimalTest generationDocumentTest -f minimalFile.xml documentFile.xml
will execute generationMinimalTest with minimalFile.xml as input and generationDocumentTest
with documentFile.xml as input. The input files are expected to be created using the external SPDX
tool.
A list of available test cases can be found here.
Currently, the following categories are available:
In order to submit a tool, a GitHub Actions workflow should be added
at .github/workflows/[name of the external SPDX tool].yaml.
This workflow should download and use the external SPDX tool in order to generate the desired
solution, and then check it via the testbed application.
As an example, have a look at .github/workflows/tools-java.yaml that uses
the spdx-tools-java-solver to generate an output file generationMinimalResult.xml that should
solve the test generationMinimalTest.
Contributions are very welcome! See CONTRIBUTING.md for instructions on how to contribute to the codebase.
This project is licensed under Apache-2.0