From e3291ccce9d32415e5058786ff991e7d5b800f4b Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 19 Sep 2023 15:25:36 -0400 Subject: [PATCH] tests: Rework detection of trivial-httpd Because it's now at the toplevel. --- rust-bindings/tests/sign/mod.rs | 15 +++++++++------ tests/libtest.sh | 17 ++++++++++------- tests/test-admin-gpg.sh | 5 +++++ tests/test-commit-sign.sh | 5 +++++ tests/test-pull-contenturl.sh | 5 +++++ tests/test-pull-metalink.sh | 5 +++++ tests/test-pull-mirrorlist.sh | 5 +++++ tests/test-pull-override-url.sh | 5 +++++ 8 files changed, 49 insertions(+), 13 deletions(-) diff --git a/rust-bindings/tests/sign/mod.rs b/rust-bindings/tests/sign/mod.rs index 745076cbaa..0dc48ae701 100644 --- a/rust-bindings/tests/sign/mod.rs +++ b/rust-bindings/tests/sign/mod.rs @@ -43,14 +43,19 @@ echo $ED25519SECRET > ed25519.secret ); let s = Command::new("bash") .env("G_TEST_SRCDIR", pwd) + .env("OSTREE_HTTPD", "") .current_dir(path) .args(["-euo", "pipefail"]) .args(["-c", cmd.as_str()]) .stdout(std::process::Stdio::null()) - .stderr(std::process::Stdio::null()) - .status() + .stderr(std::process::Stdio::piped()) + .output() .unwrap(); - assert!(s.success()); + if !s.status.success() { + let mut stderr = std::io::stderr().lock(); + let _ = std::io::copy(&mut std::io::Cursor::new(&s.stderr), &mut stderr); + panic!("failed to source libtest: {:?}", s.status); + } let seckey = std::fs::read_to_string(path.join("ed25519.secret")).unwrap(); let seckey = seckey.to_variant(); @@ -74,9 +79,7 @@ echo $ED25519SECRET > ed25519.secret let badsigs = [b"".as_slice()].to_variant(); let e = signer.data_verify(payload, &badsigs).err().unwrap(); - assert!(e - .to_string() - .contains("Invalid signature length of 0 bytes")) + assert!(e.to_string().contains("Ill-formed input"), "{}", e) } #[test] diff --git a/tests/libtest.sh b/tests/libtest.sh index 9d871aa430..fa93782703 100755 --- a/tests/libtest.sh +++ b/tests/libtest.sh @@ -25,11 +25,12 @@ else test_srcdir=$(dirname $0) fi -if [ -n "${G_TEST_BUILDDIR:-}" ]; then - test_builddir="${G_TEST_BUILDDIR}/tests" -else - test_builddir=$(dirname $0) +top_builddir="${G_TEST_BUILDDIR:-}" +if test -z "${top_builddir}"; then + top_builddir=$(cd $(dirname $0)/.. && pwd) fi + +test_builddir="${top_builddir}/tests" . ${test_srcdir}/libtest-core.sh # Make sure /sbin/capsh etc. are in our PATH even if non-root @@ -180,9 +181,11 @@ if test -n "${OT_TESTS_VALGRIND:-}"; then CMD_PREFIX="env G_SLICE=always-malloc OSTREE_SUPPRESS_SYNCFS=1 valgrind -q --error-exitcode=1 --leak-check=full --num-callers=30 --suppressions=${test_srcdir}/glib.supp --suppressions=${test_srcdir}/ostree.supp" fi -OSTREE_HTTPD="${G_TEST_BUILDDIR}/ostree-trivial-httpd" -if ! [ -x "${OSTREE_HTTPD}" ]; then - fatal "Failed to find ${OSTREE_HTTPD}" +if test -z "${OSTREE_HTTPD:-}"; then + OSTREE_HTTPD="${top_builddir}/ostree-trivial-httpd" + if ! [ -x "${OSTREE_HTTPD}" ]; then + OSTREE_HTTPD= + fi fi files_are_hardlinked() { diff --git a/tests/test-admin-gpg.sh b/tests/test-admin-gpg.sh index dcf075c1e1..f71c306b93 100755 --- a/tests/test-admin-gpg.sh +++ b/tests/test-admin-gpg.sh @@ -21,6 +21,11 @@ set -euo pipefail . $(dirname $0)/libtest.sh +if test -z "${OSTREE_HTTPD}"; then + echo "1..0 #SKIP no ostree-trivial-httpd" + exit 0 +fi + setup_os_repository_signed () { mode=$1 shift diff --git a/tests/test-commit-sign.sh b/tests/test-commit-sign.sh index 2aad1cff55..e0cea0b588 100755 --- a/tests/test-commit-sign.sh +++ b/tests/test-commit-sign.sh @@ -26,6 +26,11 @@ if ! has_gpgme; then exit 0 fi +if test -z "${OSTREE_HTTPD}"; then + echo "1..0 #SKIP no ostree-trivial-httpd" + exit 0 +fi + echo "1..7" keyid="472CDAFA" diff --git a/tests/test-pull-contenturl.sh b/tests/test-pull-contenturl.sh index ba6a2a5f67..d47fdfe110 100755 --- a/tests/test-pull-contenturl.sh +++ b/tests/test-pull-contenturl.sh @@ -21,6 +21,11 @@ set -euo pipefail . $(dirname $0)/libtest.sh +if test -z "${OSTREE_HTTPD}"; then + echo "1..0 #SKIP no ostree-trivial-httpd" + exit 0 +fi + echo "1..2" COMMIT_SIGN="" diff --git a/tests/test-pull-metalink.sh b/tests/test-pull-metalink.sh index f73992b447..22e5d59c91 100755 --- a/tests/test-pull-metalink.sh +++ b/tests/test-pull-metalink.sh @@ -21,6 +21,11 @@ set -euo pipefail . $(dirname $0)/libtest.sh +if test -z "${OSTREE_HTTPD}"; then + echo "1..0 #SKIP no ostree-trivial-httpd" + exit 0 +fi + setup_fake_remote_repo1 "archive" echo '1..9' diff --git a/tests/test-pull-mirrorlist.sh b/tests/test-pull-mirrorlist.sh index 1d0d2c58ed..d04d1e48d9 100755 --- a/tests/test-pull-mirrorlist.sh +++ b/tests/test-pull-mirrorlist.sh @@ -21,6 +21,11 @@ set -euo pipefail . $(dirname $0)/libtest.sh +if test -z "${OSTREE_HTTPD}"; then + echo "1..0 #SKIP no ostree-trivial-httpd" + exit 0 +fi + echo "1..3" setup_fake_remote_repo1 "archive" diff --git a/tests/test-pull-override-url.sh b/tests/test-pull-override-url.sh index 71a32714a7..4e8ed03538 100755 --- a/tests/test-pull-override-url.sh +++ b/tests/test-pull-override-url.sh @@ -21,6 +21,11 @@ set -euo pipefail . $(dirname $0)/libtest.sh +if test -z "${OSTREE_HTTPD}"; then + echo "1..0 #SKIP no ostree-trivial-httpd" + exit 0 +fi + setup_fake_remote_repo1 "archive" echo '1..1'