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