We provide a set of basic tests for the different language bindings for the in-toto attestation layers.
The go packages go/v1 and go/predicates provide a number of tests
for the statement and predicate layers.
To run all tests:
make go_testPlease use the standard Go testing package to write tests
for new predicates. For example tests, take a look at the *_test.go
files in the go/ directory tree.
At a minimum, we suggest testing JSON marshalling and unmarshalling of the Go language bindings.
The tests/python directory contains a number of tests for the statement
and predicate layers.
To run all tests:
make py_testPlease use the standard Python unittest package to write tests
for new predicates. For example tests, take a look at the test_*.py
modules in the tests/python/ directory tree.
At a minimum, we suggest testing JSON marshalling and unmarshalling of the Python language bindings.
The Rust package rust/ provides a few tests for the statement and predicate
layers.
Note: Support for Rust is still very early, so consider these bindings to not be stable or well-tested.
Install a Rust toolchain (1.85 or later) (see https://www.rust-lang.org/tools/install)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shThen, install required libraries
sudo apt install libssl-dev protobuf-compilerTo run all tests (including doctests):
cd rust
cargo test