| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This updates to the modern glib 0.14 and paves the way for
some reverse dependency testing by using ostree-ext's code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
No longer needed.
|
|
|
|
| |
Fixes the build.
|
| |
|
|
|
|
| |
Prep for doing this in CI.
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Updating our tests to the latest ostree crate is so deliciously
circular.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
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.
|