bazel-lib/docs/testing.md

5.6 KiB

Helpers for making test assertions

assert_archive_contains

assert_archive_contains(name, archive, expected, type, kwargs)

Assert that an archive file contains at least the given file entries.

PARAMETERS

Name Description Default Value
name name of the resulting sh_test target none
archive Label of the the .tar or .zip file none
expected a (partial) file listing, either as a Label of a file containing it, or a list of strings none
type "tar" or "zip". If None, a type will be inferred from the filename. None
kwargs additional named arguments for the resulting sh_test none

assert_contains

assert_contains(name, actual, expected, size, timeout, kwargs)

Generates a test target which fails if the file doesn't contain the string.

Depends on bash, as it creates an sh_test target.

PARAMETERS

Name Description Default Value
name target to create none
actual Label of a file none
expected a string which should appear in the file none
size the size attribute of the test target None
timeout the timeout attribute of the test target None
kwargs additional named arguments for the resulting sh_test none

assert_directory_contains

assert_directory_contains(name, directory, expected, kwargs)

Assert that a directory contains at least the given file entries.

PARAMETERS

Name Description Default Value
name name of the resulting sh_test target none
directory Label of the directory artifact none
expected a (partial) file listing, either as a Label of a file containing it, or a list of strings none
kwargs additional named arguments for the resulting sh_test none

assert_json_matches

assert_json_matches(name, file1, file2, filter1, filter2, kwargs)

Assert that the given json files have the same semantic content.

Uses jq to filter each file. The default value of "." as the filter means to compare the whole file.

See the jq rule for more about the filter expressions as well as setup notes for the jq toolchain.

PARAMETERS

Name Description Default Value
name name of resulting diff_test target none
file1 a json file none
file2 another json file none
filter1 a jq filter to apply to file1 "."
filter2 a jq filter to apply to file2 "."
kwargs additional named arguments for the resulting diff_test none

assert_outputs

assert_outputs(name, actual, expected, kwargs)

Assert that the default outputs of a target are the expected ones.

PARAMETERS

Name Description Default Value
name name of the resulting diff_test none
actual string of the label to check the outputs none
expected a list of rootpaths of expected outputs, as they would appear in a runfiles manifest none
kwargs additional named arguments for the resulting diff_test none