diff options
author | Alexander Larsson <alexl@redhat.com> | 2018-10-02 16:14:10 +0200 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-10-03 13:19:35 +0000 |
commit | 5fa3fbf19ef43d1e1c1af30a1219af2e026190c1 (patch) | |
tree | dc69377b5c01370f809f6772f73f30e7506aaf59 /.gitignore | |
parent | 58c1b9c46d1799ea9cd22dbedb71aedcd51ac1e6 (diff) | |
download | flatpak-5fa3fbf19ef43d1e1c1af30a1219af2e026190c1.tar.gz |
tests: Autogenerate test matrix
Several tests have alternative wrappers that just set some feature
flags. For instance to switch between user and system and with or
without deltas. This change makes those wrappers automatically
generated from a simple description of the features.
For example the test-run.sh test goes from:
- tests/test-run.sh \
- tests/test-run-system.sh \
- tests/test-run-deltas.sh \
- tests/test-run-system-deltas.sh \
to
+ tests/test-run.sh{{user+system},{nodeltas+deltas}} \
There is some complexity here because the TESTS variable in automake
can't be runtime generated, so we rewrite it during "make
update-test-matrix" and commit the result to git.
The way it works is that make update-test-matrix takes the
TEST_MATRIX_SOURCE list, passes it to tests/expand-test-matrix.sh
which generates all the combinations in tests/Makefile-test-matrix.am.inc
where a test like tests/test-foo.sh{user+system} will get
converted to tests/test-foo.sh@user.wrap and tests/test-foo.sh@system.wrap.
We then have a pattern rule matchin tests/*.wrap which will generate
a wrapper that sets the right environment flags based on $0 and then
spawns the wrapper.
Closes: #2170
Approved by: alexlarsson
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -99,6 +99,10 @@ Flatpak-1.0.* /tests/*.sh.log /tests/*.sh.test /tests/*.sh.trs +/tests/*.wrap.log +/tests/*.wrap.test +/tests/*.wrap.trs +/tests/*.wrap po/.intltool-merge-cache po/Makefile.in.in po/POTFILES |