summaryrefslogtreecommitdiff
path: root/data/test.schema.json
AgeCommit message (Collapse)Author
2024-07-10tests: Clean up leftover files from source dirs.Jussi Pakkanen
2024-03-17tests: rename skip_on_jobname to expect_skip_on_jobname and skip_on_os to ↵Christoph Reiter
expect_skip_on_os The test.json format currently has three keys related to skipping tests: * `skip_on_jobname` * `skip_on_os` * `skip_on_env` While `skip_on_env` marks the test itself as skipped, i.e. they don't get run when the conditions are met, the other two skip options are just marking the test as "expected to be skipped" if the conditions apply, i.e. they want to see `MESON_SKIP_TEST` in the output and things will fail if that doesn't happen. They don't actually skip the tests as the names imply. To make this clearer rename the keys: * `skip_on_jobname` -> `expect_skip_on_jobname` * `skip_on_os` -> `expect_skip_on_os` `skip_on_env` stays the same, since that actually skips. The docs were also confused about this, so adjust that too.
2023-09-13run_project_tests: support checking for symlinksArsen Arsenović
2023-09-07Fix crash when installing a vala library and python sourcesXavier Claessens
Installing python sources causes the python module to call create_install_data() before Ninja backends adds extra outputs to Vala targets. Target objects are supposed to be immutable, adding outputs that late is totally wrong. Add extra vala outputs immediately, but be careful because the main output is only added later in post_init(). Luckily the base class already puts a placeholder item in self.outputs for the main filename so we can just replace self.outputs[0] instead of replacing the whole list which would contain vala outputs at that stage. This is surprisingly what SharedLibrary was already doing.
2023-08-14Python: Add 'limited_api' kwarg to extension_moduleAndrew McNulty
This commit adds a new keyword arg to extension_module() that enables a user to target the Python Limited API, declaring the version of the limited API that they wish to target. Two new unittests have been added to test this functionality.
2021-08-18test runner: add the ability to configure test.json for python pathsEli Schwartz
Adds new installed file types with @VAR@ substitution.
2021-07-07Allow `skip_*` test.json keys at top-level or in `matrix:`Jon Turney
2021-07-07Add `skip_on_os` to test.jsonJon Turney
2021-07-07Add `skip_on_jobname` to test.jsonJon Turney
Plan to replace the hard-coded list of 'may be skipped' framework tests in skippable() with annotations in test.json which record 'will be skipped in these specific CI jobs'. If the value of the MESON_CI_JOBNAME env var (an arbitrary string expected to be unique for each CI configuration) contains any of the strings in the `skip_on_jobname` key in test.json, the test is expected to output MESON_SKIP_TEST. Unexpected skips or runs are treated as an error. Future work: Maybe we should add additional count categories 'unexpected skip' and 'unexpected not skipped', rather than counting those as 'skipped' and 'failed', respectively.
2021-06-24Fix test.json schema for 'matrix'Jon Turney
I'm not sure what the current schema is describing, but it's not doing anything useful to validate 'matrix' entries, as I discover when I come to add something to that. 'matrix' is a dict with possible keys 'options' and 'exclude'. 'options' is a dict with arbitrary keys, whose's values are arrays Once we describe those dicts correctly, also fix that 'val' keys may be string, boolean or null, and the corresponding 'exclude' keys may be string or boolean. v2: Also allow 'val' and 'exclude' to be an array of strings.
2021-06-23Enforce all dicts with a fixed set of keys in test.json schemaJon Turney
Improve test.json schema to disallow arbitrary keys in all dicts which have a defined set of keys (the 'installed', matrix 'options' and 'stdout' dicts). Add 'count' and 'comment' keys to 'stdout' dict.
2020-08-27test: Add 'dir' support for installed files in test.jsonDaniel Mensinger
This is useful for automatically generated docs (doxygen, hotdoc) with a lot of generated files that may differ with different versions of the generator.
2020-04-30Update test.json schema to add stdoutJon Turney
Update the test.json schema, adding the 'stdout' property. Also amend the test.json schema so the presence of an unexpected property on the root object causes a validation error. v2: Also add 'tools' property to json schema. Amend the documentation not to use the word 'list' to describe a dict.
2020-04-17Add a json schema for the test.json used in testsDylan Baker
This does a couple of nice things, one is that editors like vscode can be configured to use this schema to provide auto completion and error highlighting if invalid values are added or required values are missing. It also allows us test that the format of the test matrix work in a unit test, which I've added. It does require that the python jsonschema package is installed.