tests/inst: Add destructive test framework
authorColin Walters <walters@verbum.org>
Sun, 31 May 2020 17:57:22 +0000 (17:57 +0000)
committerColin Walters <walters@verbum.org>
Mon, 17 Aug 2020 14:34:04 +0000 (14:34 +0000)
commit1101c02c2a0eca8c73b7f0c25ea187f74ab6834a
treeaddfd7159df89c2fc139156408ce22a132906d40
parentab95c0264c56913d9b4c1f9d0bc72b02b53cfcaa
tests/inst: Add destructive test framework

This adds infrastructure to the Rust test suite for destructive
tests, and adds a new `transactionality` test which runs
rpm-ostree in a loop (along with `ostree-finalize-staged`) and
repeatedly uses either `kill -9`, `reboot` and  `reboot -ff`.

The main goal here is to flush out any "logic errors".

So far I've validated that this passes a lot of cycles
using
```
$ kola run --qemu-image=fastbuild-fedora-coreos-ostree-qemu.qcow2 ext.ostree.destructive-rs.transactionality --debug --multiply 8 --parallel 4
```
a number of times.
15 files changed:
.cci.jenkinsfile
Makefile.am
tests/inst/Cargo.toml
tests/inst/itest-macro/src/itest-macro.rs
tests/inst/src/destructive.rs [new file with mode: 0644]
tests/inst/src/insttest.rs [deleted file]
tests/inst/src/insttestmain.rs [new file with mode: 0644]
tests/inst/src/repobin.rs
tests/inst/src/rpmostree.rs [new file with mode: 0644]
tests/inst/src/test.rs
tests/inst/src/treegen.rs [new file with mode: 0644]
tests/kolainst/.gitignore [new file with mode: 0644]
tests/kolainst/Makefile
tests/kolainst/destructive-stamp.ign [new file with mode: 0644]
tests/kolainst/install-wrappers.sh [new file with mode: 0755]