From b5b67adcc17e3e74dbcda09ff3f8a4636aa53486 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 18 May 2024 19:40:22 +0200 Subject: Merging debian version 6.7.7-1. Signed-off-by: Daniel Baumann --- debian/tests/control | 276 ++++++++++++++++++++++++++++++++++++++++++-- debian/tests/headers-kbuild | 46 ++++++++ debian/tests/kbuild | 58 ---------- debian/tests/selftests | 88 -------------- 4 files changed, 314 insertions(+), 154 deletions(-) create mode 100755 debian/tests/headers-kbuild delete mode 100644 debian/tests/kbuild delete mode 100644 debian/tests/selftests (limited to 'debian/tests') diff --git a/debian/tests/control b/debian/tests/control index 9b7b1fc1c4..4428e8257f 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -2,13 +2,273 @@ Test-Command: py.test debian/lib/python Restrictions: superficial Depends: python3-pytest, python3-jinja2 -Tests: selftests -Restrictions: breaks-testbed, needs-root, isolation-machine -Depends: kexec-tools, python3, gcc, make, libpopt-dev, gcc-multilib [amd64], bc, fuse, libfuse-dev, pkg-config, linux-image-6.6.15-progress7.99-alpha-generic [alpha], linux-image-6.6.15-progress7.99-alpha-smp [alpha], linux-image-6.6.15-progress7.99-amd64 [amd64], linux-image-6.6.15-progress7.99-cloud-amd64 [amd64], linux-image-6.6.15-progress7.99-rt-amd64 [amd64], linux-image-6.6.15-progress7.99-arm64 [arm64], linux-image-6.6.15-progress7.99-cloud-arm64 [arm64], linux-image-6.6.15-progress7.99-rt-arm64 [arm64], linux-image-6.6.15-progress7.99-rpi [armel], linux-image-6.6.15-progress7.99-armmp [armhf], linux-image-6.6.15-progress7.99-armmp-lpae [armhf], linux-image-6.6.15-progress7.99-rt-armmp [armhf], linux-image-6.6.15-progress7.99-parisc [hppa], linux-image-6.6.15-progress7.99-parisc64 [hppa], linux-image-6.6.15-progress7.99-686 [i386], linux-image-6.6.15-progress7.99-686-pae [i386], linux-image-6.6.15-progress7.99-rt-686-pae [i386], linux-image-6.6.15-progress7.99-itanium [ia64], linux-image-6.6.15-progress7.99-mckinley [ia64], linux-image-6.6.15-progress7.99-m68k [m68k], linux-image-6.6.15-progress7.99-4kc-malta [mips mipsel], linux-image-6.6.15-progress7.99-mips32r2eb [mips], linux-image-6.6.15-progress7.99-octeon [mips mips64 mips64el mipsel], linux-image-6.6.15-progress7.99-5kc-malta [mips64 mips64el], linux-image-6.6.15-progress7.99-mips64r2eb [mips64], linux-image-6.6.15-progress7.99-mips64r2el [mips64el], linux-image-6.6.15-progress7.99-loongson-3 [mips64el mipsel], linux-image-6.6.15-progress7.99-mips64r6el [mips64r6el], linux-image-6.6.15-progress7.99-mips32r2el [mipsel], linux-image-6.6.15-progress7.99-powerpc [powerpc], linux-image-6.6.15-progress7.99-powerpc-smp [powerpc], linux-image-6.6.15-progress7.99-powerpc64 [powerpc ppc64], linux-image-6.6.15-progress7.99-powerpc64le [ppc64el], linux-image-6.6.15-progress7.99-riscv64 [riscv64], linux-image-6.6.15-progress7.99-s390x [s390x], linux-image-6.6.15-progress7.99-sh7751r [sh4], linux-image-6.6.15-progress7.99-sh7785lcr [sh4], linux-image-6.6.15-progress7.99-sparc64 [sparc64], linux-image-6.6.15-progress7.99-sparc64-smp [sparc64] -Classes: smp +Test-Command: debian/tests/headers-kbuild 6.7.7-alpha-generic +Architecture: alpha +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-alpha-generic +Depends: linux-headers-6.7.7-alpha-generic, linux-image-6.7.7-alpha-generic -Tests: kbuild -Architecture: alpha amd64 arm64 armhf hppa i386 ia64 m68k ppc64 ppc64el riscv64 s390x sparc64 -Restrictions: superficial -Depends: python3, linux-headers-6.6.15-progress7.99-alpha-smp [alpha], linux-headers-6.6.15-progress7.99-cloud-amd64 [amd64], linux-headers-6.6.15-progress7.99-cloud-arm64 [arm64], linux-headers-6.6.15-progress7.99-armmp [armhf], linux-headers-6.6.15-progress7.99-parisc [hppa], linux-headers-6.6.15-progress7.99-686-pae [i386], linux-headers-6.6.15-progress7.99-itanium [ia64], linux-headers-6.6.15-progress7.99-m68k [m68k], linux-headers-6.6.15-progress7.99-powerpc64 [ppc64], linux-headers-6.6.15-progress7.99-powerpc64le [ppc64el], linux-headers-6.6.15-progress7.99-riscv64 [riscv64], linux-headers-6.6.15-progress7.99-s390x [s390x], linux-headers-6.6.15-progress7.99-sparc64-smp [sparc64] +Test-Command: debian/tests/headers-kbuild 6.7.7-alpha-smp +Architecture: alpha +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-alpha-smp +Depends: linux-headers-6.7.7-alpha-smp, linux-image-6.7.7-alpha-smp + +Test-Command: debian/tests/headers-kbuild 6.7.7-amd64 +Architecture: amd64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-amd64 +Depends: linux-headers-6.7.7-amd64, linux-image-6.7.7-amd64-unsigned + +Test-Command: debian/tests/headers-kbuild 6.7.7-cloud-amd64 +Architecture: amd64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-cloud-amd64 +Depends: linux-headers-6.7.7-cloud-amd64, linux-image-6.7.7-cloud-amd64-unsigned + +Test-Command: debian/tests/headers-kbuild 6.7.7-rt-amd64 +Architecture: amd64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-rt-amd64 +Depends: linux-headers-6.7.7-rt-amd64, linux-image-6.7.7-rt-amd64-unsigned + +Test-Command: debian/tests/headers-kbuild 6.7.7-arm64 +Architecture: arm64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-arm64 +Depends: linux-headers-6.7.7-arm64, linux-image-6.7.7-arm64-unsigned + +Test-Command: debian/tests/headers-kbuild 6.7.7-cloud-arm64 +Architecture: arm64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-cloud-arm64 +Depends: linux-headers-6.7.7-cloud-arm64, linux-image-6.7.7-cloud-arm64-unsigned + +Test-Command: debian/tests/headers-kbuild 6.7.7-rt-arm64 +Architecture: arm64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-rt-arm64 +Depends: linux-headers-6.7.7-rt-arm64, linux-image-6.7.7-rt-arm64-unsigned + +Test-Command: debian/tests/headers-kbuild 6.7.7-rpi +Architecture: armel +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-rpi +Depends: linux-headers-6.7.7-rpi, linux-image-6.7.7-rpi + +Test-Command: debian/tests/headers-kbuild 6.7.7-armmp +Architecture: armhf +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-armmp +Depends: linux-headers-6.7.7-armmp, linux-image-6.7.7-armmp + +Test-Command: debian/tests/headers-kbuild 6.7.7-armmp-lpae +Architecture: armhf +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-armmp-lpae +Depends: linux-headers-6.7.7-armmp-lpae, linux-image-6.7.7-armmp-lpae + +Test-Command: debian/tests/headers-kbuild 6.7.7-rt-armmp +Architecture: armhf +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-rt-armmp +Depends: linux-headers-6.7.7-rt-armmp, linux-image-6.7.7-rt-armmp + +Test-Command: debian/tests/headers-kbuild 6.7.7-parisc +Architecture: hppa +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-parisc +Depends: linux-headers-6.7.7-parisc, linux-image-6.7.7-parisc + +Test-Command: debian/tests/headers-kbuild 6.7.7-parisc64 +Architecture: hppa +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-parisc64 +Depends: linux-headers-6.7.7-parisc64, linux-image-6.7.7-parisc64 + +Test-Command: debian/tests/headers-kbuild 6.7.7-686 +Architecture: i386 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-686 +Depends: linux-headers-6.7.7-686, linux-image-6.7.7-686 + +Test-Command: debian/tests/headers-kbuild 6.7.7-686-pae +Architecture: i386 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-686-pae +Depends: linux-headers-6.7.7-686-pae, linux-image-6.7.7-686-pae + +Test-Command: debian/tests/headers-kbuild 6.7.7-rt-686-pae +Architecture: i386 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-rt-686-pae +Depends: linux-headers-6.7.7-rt-686-pae, linux-image-6.7.7-rt-686-pae + +Test-Command: debian/tests/headers-kbuild 6.7.7-loong64 +Architecture: loong64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-loong64 +Depends: linux-headers-6.7.7-loong64, linux-image-6.7.7-loong64 + +Test-Command: debian/tests/headers-kbuild 6.7.7-m68k +Architecture: m68k +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-m68k +Depends: linux-headers-6.7.7-m68k, linux-image-6.7.7-m68k + +Test-Command: debian/tests/headers-kbuild 6.7.7-4kc-malta +Architecture: mips +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-4kc-malta +Depends: linux-headers-6.7.7-4kc-malta, linux-image-6.7.7-4kc-malta + +Test-Command: debian/tests/headers-kbuild 6.7.7-mips32r2eb +Architecture: mips +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-mips32r2eb +Depends: linux-headers-6.7.7-mips32r2eb, linux-image-6.7.7-mips32r2eb + +Test-Command: debian/tests/headers-kbuild 6.7.7-octeon +Architecture: mips +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-octeon +Depends: linux-headers-6.7.7-octeon, linux-image-6.7.7-octeon + +Test-Command: debian/tests/headers-kbuild 6.7.7-5kc-malta +Architecture: mips64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-5kc-malta +Depends: linux-headers-6.7.7-5kc-malta, linux-image-6.7.7-5kc-malta + +Test-Command: debian/tests/headers-kbuild 6.7.7-mips64r2eb +Architecture: mips64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-mips64r2eb +Depends: linux-headers-6.7.7-mips64r2eb, linux-image-6.7.7-mips64r2eb + +Test-Command: debian/tests/headers-kbuild 6.7.7-octeon +Architecture: mips64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-octeon +Depends: linux-headers-6.7.7-octeon, linux-image-6.7.7-octeon + +Test-Command: debian/tests/headers-kbuild 6.7.7-5kc-malta +Architecture: mips64el +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-5kc-malta +Depends: linux-headers-6.7.7-5kc-malta, linux-image-6.7.7-5kc-malta + +Test-Command: debian/tests/headers-kbuild 6.7.7-mips64r2el +Architecture: mips64el +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-mips64r2el +Depends: linux-headers-6.7.7-mips64r2el, linux-image-6.7.7-mips64r2el + +Test-Command: debian/tests/headers-kbuild 6.7.7-loongson-3 +Architecture: mips64el +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-loongson-3 +Depends: linux-headers-6.7.7-loongson-3, linux-image-6.7.7-loongson-3 + +Test-Command: debian/tests/headers-kbuild 6.7.7-octeon +Architecture: mips64el +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-octeon +Depends: linux-headers-6.7.7-octeon, linux-image-6.7.7-octeon + +Test-Command: debian/tests/headers-kbuild 6.7.7-mips64r6el +Architecture: mips64r6el +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-mips64r6el +Depends: linux-headers-6.7.7-mips64r6el, linux-image-6.7.7-mips64r6el + +Test-Command: debian/tests/headers-kbuild 6.7.7-4kc-malta +Architecture: mipsel +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-4kc-malta +Depends: linux-headers-6.7.7-4kc-malta, linux-image-6.7.7-4kc-malta + +Test-Command: debian/tests/headers-kbuild 6.7.7-mips32r2el +Architecture: mipsel +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-mips32r2el +Depends: linux-headers-6.7.7-mips32r2el, linux-image-6.7.7-mips32r2el + +Test-Command: debian/tests/headers-kbuild 6.7.7-loongson-3 +Architecture: mipsel +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-loongson-3 +Depends: linux-headers-6.7.7-loongson-3, linux-image-6.7.7-loongson-3 + +Test-Command: debian/tests/headers-kbuild 6.7.7-octeon +Architecture: mipsel +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-octeon +Depends: linux-headers-6.7.7-octeon, linux-image-6.7.7-octeon + +Test-Command: debian/tests/headers-kbuild 6.7.7-powerpc +Architecture: powerpc +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-powerpc +Depends: linux-headers-6.7.7-powerpc, linux-image-6.7.7-powerpc + +Test-Command: debian/tests/headers-kbuild 6.7.7-powerpc-smp +Architecture: powerpc +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-powerpc-smp +Depends: linux-headers-6.7.7-powerpc-smp, linux-image-6.7.7-powerpc-smp + +Test-Command: debian/tests/headers-kbuild 6.7.7-powerpc64 +Architecture: powerpc +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-powerpc64 +Depends: linux-headers-6.7.7-powerpc64, linux-image-6.7.7-powerpc64 + +Test-Command: debian/tests/headers-kbuild 6.7.7-powerpc64 +Architecture: ppc64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-powerpc64 +Depends: linux-headers-6.7.7-powerpc64, linux-image-6.7.7-powerpc64 + +Test-Command: debian/tests/headers-kbuild 6.7.7-powerpc64le +Architecture: ppc64el +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-powerpc64le +Depends: linux-headers-6.7.7-powerpc64le, linux-image-6.7.7-powerpc64le + +Test-Command: debian/tests/headers-kbuild 6.7.7-riscv64 +Architecture: riscv64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-riscv64 +Depends: linux-headers-6.7.7-riscv64, linux-image-6.7.7-riscv64 + +Test-Command: debian/tests/headers-kbuild 6.7.7-s390x +Architecture: s390x +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-s390x +Depends: linux-headers-6.7.7-s390x, linux-image-6.7.7-s390x + +Test-Command: debian/tests/headers-kbuild 6.7.7-sh7751r +Architecture: sh4 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-sh7751r +Depends: linux-headers-6.7.7-sh7751r, linux-image-6.7.7-sh7751r + +Test-Command: debian/tests/headers-kbuild 6.7.7-sh7785lcr +Architecture: sh4 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-sh7785lcr +Depends: linux-headers-6.7.7-sh7785lcr, linux-image-6.7.7-sh7785lcr + +Test-Command: debian/tests/headers-kbuild 6.7.7-sparc64 +Architecture: sparc64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-sparc64 +Depends: linux-headers-6.7.7-sparc64, linux-image-6.7.7-sparc64 + +Test-Command: debian/tests/headers-kbuild 6.7.7-sparc64-smp +Architecture: sparc64 +Restrictions: skip-not-installable, superficial +Features: test-name=headers-kbuild-sparc64-smp +Depends: linux-headers-6.7.7-sparc64-smp, linux-image-6.7.7-sparc64-smp diff --git a/debian/tests/headers-kbuild b/debian/tests/headers-kbuild new file mode 100755 index 0000000000..55681de015 --- /dev/null +++ b/debian/tests/headers-kbuild @@ -0,0 +1,46 @@ +#!/bin/sh -eu + +KERNEL_RELEASE="$1" + +mkdir "$AUTOPKGTEST_TMP"/foo +cat >"$AUTOPKGTEST_TMP"/foo/foo.c < +#include + +static int __init foo_init(void) +{ + pr_info("foo initialised\n"); + return 0; +} +module_init(foo_init); + +static void __exit foo_exit(void) +{ +} +module_exit(foo_exit); + +MODULE_LICENSE("GPL"); +EOF +cat >"$AUTOPKGTEST_TMP"/foo/Kbuild <&1 +# Next, run the build with stdout sent to the original stdout and +# stderr sent through tee to both the original stdout and a file +make -C /lib/modules/"$KERNEL_RELEASE"/build M="$AUTOPKGTEST_TMP"/foo V=1 \ + 2>&1 1>&3 | tee "$AUTOPKGTEST_TMP"/foo/make.stderr +# Close fd 3 +exec 3>&- +# Check for any stderr output that doesn't match the suppressions +if grep -q -v -E 'Skipping BTF generation .* due to unavailability of vmlinux' "$AUTOPKGTEST_TMP"/foo/make.stderr; then + echo >&2 "E: Unexpected warning/error messages" +fi + +echo "I: Clean" +make -C /lib/modules/"$KERNEL_RELEASE"/build M="$AUTOPKGTEST_TMP"/foo V=1 clean diff --git a/debian/tests/kbuild b/debian/tests/kbuild deleted file mode 100644 index 18cbe214e8..0000000000 --- a/debian/tests/kbuild +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -eu - -mkdir "$AUTOPKGTEST_TMP"/foo -cat >"$AUTOPKGTEST_TMP"/foo/foo.c < -#include - -static int __init foo_init(void) -{ - pr_info("foo initialised\n"); - return 0; -} -module_init(foo_init); - -static void __exit foo_exit(void) -{ -} -module_exit(foo_exit); - -MODULE_LICENSE("GPL"); -EOF -cat >"$AUTOPKGTEST_TMP"/foo/Kbuild <&2 "E: Failed to find quick or default flavour" - exit 1 -fi -release="$abiname-$flavour" - -echo "I: Build for $release" -# There are some warnings sent to stderr that we need to suppress, -# but any other output to stderr should be treated as a failure. -# We also want all stdout/stderr to appear in order in the log. -# First, duplicate stdout to fd 3 -exec 3>&1 -# Next, run the build with stdout sent to the original stdout and -# stderr sent through tee to both the original stdout and a file -make -C /lib/modules/"$release"/build M="$AUTOPKGTEST_TMP"/foo V=1 \ - 2>&1 1>&3 | tee "$AUTOPKGTEST_TMP"/foo/make.stderr -# Close fd 3 -exec 3>&- -# Check for any stderr output that doesn't match the suppressions -if grep -q -v -E 'Skipping BTF generation .* due to unavailability of vmlinux' "$AUTOPKGTEST_TMP"/foo/make.stderr; then - echo >&2 "E: Unexpected warning/error messages" -fi - -echo "I: Clean" -make -C /lib/modules/"$release"/build M="$AUTOPKGTEST_TMP"/foo V=1 clean diff --git a/debian/tests/selftests b/debian/tests/selftests deleted file mode 100644 index 02cc29372e..0000000000 --- a/debian/tests/selftests +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/bash -eu - -PATH=/usr/sbin:/sbin:/usr/bin:/bin - -getconfig() { - debian/bin/getconfig.py "$@" -} - -# Look up current ABI name and 'localversion' (featureset/flavour) suffixes -abiname=$(getconfig version abiname) -arch=$(dpkg --print-architecture) -localversion=() -for featureset in $(getconfig base $arch featuresets); do - if [ "$(getconfig base '' $featureset enabled || echo True)" = True ]; then - for flavour in $(getconfig base $arch $featureset flavours); do - if [ "$featureset" = none ]; then - localversion+=(-$flavour) - else - localversion+=(-$featureset-$flavour) - fi - done - fi -done -steps=${#localversion[*]} - -case "${ADT_REBOOT_MARK:-}" in - "") - step=-1 - ;; - step*) - step=${ADT_REBOOT_MARK#step} - ;; -esac - -if [ "$step" -ge 0 ]; then - ver=$abiname${localversion[$step]} - - if [ "$(uname -r)" != "$ver" ]; then - echo >&2 "Should be running: $ver" - echo >&2 "Actually running: $(uname -r)" - else - cp -lR . $AUTOPKGTEST_TMP/build - cd $AUTOPKGTEST_TMP/build - make headers_install - - # Ignore compiler warnings - { - make -C tools/testing/selftests && - make -C tools/testing/selftests/memfd build_fuse - } 2>&1 || echo >&2 "Build failed" - - # Enable testing CLONE_USERNS by unprivileged users - sysctl kernel.unprivileged_userns_clone=1 - - # Some tests will write to stderr despite being successful, - # and the exit code from make will be 0 even if tests failed. - # So we have to do some post-analysis... - set -o pipefail - { - make -C tools/testing/selftests quicktest=1 run_tests && - make -C tools/testing/selftests/cpu-hotplug run_full_test && - make -C tools/testing/selftests/memory-hotplug run_full_test && - make -C tools/testing/selftests/memfd run_fuse && - make -C tools/testing/selftests/timers run_destructive_tests - } 2>&1 | tee $AUTOPKGTEST_TMP/log - set +o pipefail - if grep -E '\[(FAIL|UNSUPPORTED)\]|recipe for target .run_tests. failed' $AUTOPKGTEST_TMP/log | \ - grep -q -v \ - -e '^selftests: fw_userhelper.sh \[FAIL\]' \ - -e 'ftrace - function profiler with function tracing \[UNSUPPORTED\]' \ - -e '^selftests: ftracetest \[FAIL\]' \ - -e '|| echo .*\[FAIL\]' \ - ; then - echo >&2 "Unexpected failures found" - fi - fi -fi - -step=$((step + 1)) - -if [ "$step" -lt "$steps" ]; then - # Load the next kernel - ver=$abiname${localversion[$step]} - kexec -l /boot/vmlinuz-$ver --initrd /boot/initrd.img-$ver --reuse-cmdline - /tmp/autopkgtest-reboot step$step -fi - -exit 0 -- cgit v1.2.3