summaryrefslogtreecommitdiff
path: root/tests/inst
Commit message (Collapse)AuthorAgeFilesLines
* tests: Use ostree-ext 0.3.0Colin Walters2021-09-303-12/+12
| | | | | This updates to the modern glib 0.14 and paves the way for some reverse dependency testing by using ostree-ext's code.
* *: rename master branch to main (external repos)Timothée Ravier2021-05-071-1/+1
|
* tests/inst: Make nondestructive tests runnable as unit testsColin Walters2021-04-151-1/+8
| | | | | | | | | | | | | Ideally in the future we change more of our unit tests to support running installed; we've tried this in the past with https://wiki.gnome.org/Initiatives/GnomeGoals/InstalledTests I'd like to pick that back up again. This takes a step towards that by having our Rust tests. To make this even easier, add a `tests/run-installed` which runs the installed tests (uninstalled, confusingly but conveniently for now).
* build-sys: Add toplevel workspace Cargo.tomlColin Walters2021-04-151-2/+0
| | | | | | | | | rust-analyzer is happier with this because it understands the project structure out of the box. We aren't actually again adding a dependency on Rust/cargo in the core, this is only used to make `cargo build` work out of the box to build the Rust test code.
* tests/inst: Update tokio, hyper and nixColin Walters2021-04-073-7/+8
|
* tests/inst: Update rpm-ostree clientColin Walters2021-04-072-5/+9
|
* tests/inst: Update ostree crateColin Walters2021-04-072-4/+5
|
* tests: Drop openat overrideColin Walters2021-04-071-4/+0
| | | | No longer needed.
* tests/inst: Patch to use my PR for openatColin Walters2021-03-191-0/+4
| | | | Fixes the build.
* tests/inst: cargo fmtColin Walters2021-03-172-13/+12
|
* tests/inst: Fix lots of `cargo clippy` warningsColin Walters2021-03-173-37/+30
| | | | Prep for doing this in CI.
* tests/inst: Switch to rpmostree-client from gitColin Walters2021-02-234-57/+6
| | | | | See discussion in https://github.com/coreos/rpm-ostree/pull/2569#issuecomment-780569188 Currently pinned to a hash, but after the next stable release let's switch to tags
* tests/ext/destructive: enhance test logicLuca BRUNO2021-02-032-8/+29
| | | | | | This enhances external-tests logic, ensuring that destructive tests have retries and some context to pinpoint failures, and that failed-state services are reset between iterations.
* tests/inst: Update to published sh-inline crateColin Walters2020-08-265-25/+27
| | | | | | | | And I made a few more API tweaks, such as supporting `Path` objects directly and also not needing e.g. `commit = commit`, see - https://github.com/cgwalters/rust-sh-inline/commit/cfa7c71126f23545a7d4782cad650eab60e74204 - https://github.com/cgwalters/rust-sh-inline/commit/679bce4cc7ce65641e0c9bd33654510575583de8
* tests/inst: Port to new sh-inline repoColin Walters2020-08-256-38/+34
| | | | | | I cleaned up my fork of commandspec (see git log) and am planning to publish to crates. Port to the new API in prep for that.
* tests: Check the immutable bitColin Walters2020-08-212-0/+30
| | | | | | | See https://bugzilla.redhat.com/show_bug.cgi?id=1867601 We really want an upstream test for this, even if (to my knowledge) nothing is running ostree's upstream CI on !x86_64.
* tests/inst: Bump to latest ostree and gtk-rsColin Walters2020-08-181-3/+3
| | | | | Updating our tests to the latest ostree crate is so deliciously circular.
* tests/inst: Add destructive test frameworkColin Walters2020-08-179-84/+1035
| | | | | | | | | | | | | | | | 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.
* tests/rust: Extract a with_webserver_in helper wrapperColin Walters2020-06-042-14/+23
| | | | | | | It's much cleaner if the Tokio stuff stays in `test.rs`, and easier to write tests if the function is synchronous. Prep for further tests.
* Add new Rust-based testsColin Walters2020-05-278-0/+470
There's a lot going on here. First, this is intended to run nicely as part of the new [cosa/kola ext-tests](https://github.com/coreos/coreos-assembler/pull/1252). With Rust we can get one big static binary that we can upload, and include a webserver as part of the binary. This way we don't need to do the hack of running a container with Python or whatever. Now, what's even better about Rust for this is that it has macros, and specifically we are using [commandspec](https://github.com/tcr/commandspec/) which allows us to "inline" shell script. I think the macros could be even better, but this shows how we can intermix pure Rust code along with using shell safely enough. We're using my fork of commandspec because the upstream hasn't merged [a few PRs](https://github.com/tcr/commandspec/pulls?q=is%3Apr+author%3Acgwalters+). This model is intended to replace *both* some of our `make check` tests as well. Oh, and this takes the obvious step of using the Rust OSTree bindings as part of our tests. Currently the "commandspec tests" and "API tests" are separate, but nothing stops us from intermixing them if we wanted. I haven't yet tried to write destructive tests with this but I think it will go well.