tests: Use ostree-ext 0.3.0
This updates to the modern glib 0.14 and paves the way for some reverse dependency testing by using ostree-ext's code.
This commit is contained in:
parent
e8394c755b
commit
bcc0ef7583
|
|
@ -17,9 +17,7 @@ serde_json = "1.0"
|
||||||
sh-inline = "0.1.0"
|
sh-inline = "0.1.0"
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
tempfile = "3.1.0"
|
tempfile = "3.1.0"
|
||||||
glib = "0.10"
|
ostree-ext = { version = "0.3.0" }
|
||||||
gio = "0.9"
|
|
||||||
ostree = { version = "0.10.0", features = ["v2021_1"] }
|
|
||||||
libtest-mimic = "0.3.0"
|
libtest-mimic = "0.3.0"
|
||||||
twoway = "0.2.1"
|
twoway = "0.2.1"
|
||||||
hyper = { version = "0.14", features = ["runtime", "http1", "http2", "tcp", "server"] }
|
hyper = { version = "0.14", features = ["runtime", "http1", "http2", "tcp", "server"] }
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@
|
||||||
//! AUTOPKGTEST_REBOOT_MARK.
|
//! AUTOPKGTEST_REBOOT_MARK.
|
||||||
|
|
||||||
use anyhow::{Context, Result};
|
use anyhow::{Context, Result};
|
||||||
|
use ostree_ext::gio;
|
||||||
|
use ostree_ext::ostree;
|
||||||
use rand::seq::SliceRandom;
|
use rand::seq::SliceRandom;
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
@ -283,7 +285,7 @@ fn parse_and_validate_reboot_mark<M: AsRef<str>>(
|
||||||
// Since we successfully updated, generate a new commit to target
|
// Since we successfully updated, generate a new commit to target
|
||||||
generate_update(&firstdeploy.checksum)?;
|
generate_update(&firstdeploy.checksum)?;
|
||||||
// Update the target state
|
// Update the target state
|
||||||
let srvrepo_obj = ostree::Repo::new(&gio::File::new_for_path(SRVREPO));
|
let srvrepo_obj = ostree::Repo::new(&gio::File::for_path(SRVREPO));
|
||||||
srvrepo_obj.open(gio::NONE_CANCELLABLE)?;
|
srvrepo_obj.open(gio::NONE_CANCELLABLE)?;
|
||||||
commitstates.target = srvrepo_obj.resolve_rev(TESTREF, false)?.unwrap().into();
|
commitstates.target = srvrepo_obj.resolve_rev(TESTREF, false)?.unwrap().into();
|
||||||
} else if commitstates.booted == commitstates.orig || commitstates.booted == commitstates.prev {
|
} else if commitstates.booted == commitstates.orig || commitstates.booted == commitstates.prev {
|
||||||
|
|
@ -352,9 +354,9 @@ fn impl_transaction_test<M: AsRef<str>>(
|
||||||
|
|
||||||
// Gather the expected possible commits
|
// Gather the expected possible commits
|
||||||
let mut commitstates = {
|
let mut commitstates = {
|
||||||
let srvrepo_obj = ostree::Repo::new(&gio::File::new_for_path(SRVREPO));
|
let srvrepo_obj = ostree::Repo::new(&gio::File::for_path(SRVREPO));
|
||||||
srvrepo_obj.open(gio::NONE_CANCELLABLE)?;
|
srvrepo_obj.open(gio::NONE_CANCELLABLE)?;
|
||||||
let sysrepo_obj = ostree::Repo::new(&gio::File::new_for_path("/sysroot/ostree/repo"));
|
let sysrepo_obj = ostree::Repo::new(&gio::File::for_path("/sysroot/ostree/repo"));
|
||||||
sysrepo_obj.open(gio::NONE_CANCELLABLE)?;
|
sysrepo_obj.open(gio::NONE_CANCELLABLE)?;
|
||||||
|
|
||||||
CommitStates {
|
CommitStates {
|
||||||
|
|
@ -543,8 +545,8 @@ fn transactionality() -> Result<()> {
|
||||||
let sysroot = ostree::Sysroot::new_default();
|
let sysroot = ostree::Sysroot::new_default();
|
||||||
sysroot.load(cancellable.as_ref())?;
|
sysroot.load(cancellable.as_ref())?;
|
||||||
assert!(sysroot.is_booted());
|
assert!(sysroot.is_booted());
|
||||||
let booted = sysroot.get_booted_deployment().expect("booted deployment");
|
let booted = sysroot.booted_deployment().expect("booted deployment");
|
||||||
let commit: String = booted.get_csum().expect("booted csum").into();
|
let commit: String = booted.csum().expect("booted csum").into();
|
||||||
// We need this static across reboots
|
// We need this static across reboots
|
||||||
let srvrepo = Path::new(SRVREPO);
|
let srvrepo = Path::new(SRVREPO);
|
||||||
let firstrun = !srvrepo.exists();
|
let firstrun = !srvrepo.exists();
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
//! Tests that mostly use the API and access the booted sysroot read-only.
|
//! Tests that mostly use the API and access the booted sysroot read-only.
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use gio::prelude::*;
|
use ostree_ext::prelude::*;
|
||||||
use ostree::prelude::*;
|
use ostree_ext::{gio, ostree};
|
||||||
|
|
||||||
use crate::test::*;
|
use crate::test::*;
|
||||||
|
|
||||||
|
|
@ -21,11 +21,11 @@ fn test_sysroot_ro() -> Result<()> {
|
||||||
sysroot.load(cancellable.as_ref())?;
|
sysroot.load(cancellable.as_ref())?;
|
||||||
assert!(sysroot.is_booted());
|
assert!(sysroot.is_booted());
|
||||||
|
|
||||||
let booted = sysroot.get_booted_deployment().expect("booted deployment");
|
let booted = sysroot.booted_deployment().expect("booted deployment");
|
||||||
assert!(!booted.is_staged());
|
assert!(!booted.is_staged());
|
||||||
let repo = sysroot.repo().expect("repo");
|
let repo = sysroot.repo().expect("repo");
|
||||||
|
|
||||||
let csum = booted.get_csum().expect("booted csum");
|
let csum = booted.csum().expect("booted csum");
|
||||||
let csum = csum.as_str();
|
let csum = csum.as_str();
|
||||||
|
|
||||||
let (root, rev) = repo.read_commit(csum, cancellable.as_ref())?;
|
let (root, rev) = repo.read_commit(csum, cancellable.as_ref())?;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue