coreutils icon indicating copy to clipboard operation
coreutils copied to clipboard

Failing tests as of 2025-08-13

Open julian-klode opened this issue 3 months ago • 2 comments

The terminal sizes have been going on for a while now. All tested by getting the git tree and running the Ubuntu packaging cleanly in sbuild.

We did not notice that the tests started failing at some point (they worked fine in the 0.1.0 release afair), as the package inadvertently ignored test failures and I never scrolled back up enough in the build log :D

---- test_env::test_simulation_of_terminal_true stdout ----
bin: "/build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
run: /build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils env sh is_a_tty.sh

thread 'test_env::test_simulation_of_terminal_true' panicked at tests/by-util/test_env.rs:1602:5:
assertion `left == right` failed
  left: "stdin is a tty\r\nterminal size: \r\nstdout is a tty\r\nstderr is a tty\r\n"
 right: "stdin is a tty\r\nterminal size: 30 80\r\nstdout is a tty\r\nstderr is a tty\r\n"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- test_env::test_simulation_of_terminal_size_information stdout ----
bin: "/build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
run: /build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils env sh is_a_tty.sh

thread 'test_env::test_simulation_of_terminal_size_information' panicked at tests/by-util/test_env.rs:1711:5:
assertion `left == right` failed
  left: "stdin is a tty\r\nterminal size: \r\nstdout is a tty\r\nstderr is a tty\r\n"
 right: "stdin is a tty\r\nterminal size: 10 40\r\nstdout is a tty\r\nstderr is a tty\r\n"

---- test_env::test_simulation_of_terminal_for_stdin_only stdout ----
bin: "/build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
run: /build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils env sh is_a_tty.sh

thread 'test_env::test_simulation_of_terminal_for_stdin_only' panicked at tests/by-util/test_env.rs:1628:5:
assertion `left == right` failed
  left: "stdin is a tty\nterminal size: \nstdout is not a tty\nstderr is not a tty\n"
 right: "stdin is a tty\nterminal size: 30 80\nstdout is not a tty\nstderr is not a tty\n"

These are new:

---- test_env::test_env_arg_ignore_signal_valid_signals stdout ----
bin: "/build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
run: /build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils env --ignore-signal=int sleep 1000

thread 'test_env::test_env_arg_ignore_signal_valid_signals' panicked at tests/by-util/test_env.rs:49:14:
failed to send signal: Os { code: 2, kind: NotFound, message: "No such file or directory" }

---- test_ls::test_device_number stdout ----

thread 'test_ls::test_device_number' panicked at tests/by-util/test_ls.rs:4854:10:
Expect a block/char device

---- test_tail::test_following_with_pid stdout ----
bin: "/build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
touch: /tmp/.tmpHJKbrQ/f
run: /build/reproducible-path/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils tail --pid 34427 -f /tmp/.tmpHJKbrQ/f

thread 'test_tail::test_following_with_pid' panicked at tests/by-util/test_tail.rs:4865:10:
failed to kill sleep command: Os { code: 2, kind: NotFound, message: "No such file or directory" }

Summary

failures:
    test_env::test_env_arg_ignore_signal_valid_signals
    test_env::test_simulation_of_terminal_for_stdin_only
    test_env::test_simulation_of_terminal_size_information
    test_env::test_simulation_of_terminal_true
    test_ls::test_device_number
    test_tail::test_following_with_pid

test result: FAILED. 3378 passed; 6 failed; 42 ignored; 0 measured; 0 filtered out; finished in 24.07s

On the host I observe:

---- test_df::test_total stdout ----
bin: "/home/jak/Projects/Ubuntu/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
run: /home/jak/Projects/Ubuntu/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils df --total

thread 'test_df::test_total' panicked at tests/by-util/test_df.rs:411:5:
assertion `left == right` failed
  left: 1175375157
 right: 1175375156
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- test_cp::test_cp_reflink_always_override stdout ----
bin: "/home/jak/Projects/Ubuntu/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils"
mkdir: /tmp/.tmpgIaNNl/disk_root/
mkdir: /tmp/.tmpgIaNNl/disk_root/dir/
run: /home/jak/Projects/Ubuntu/rust-coreutils-0.1.0+git20250813.4af2a84/target/debug/coreutils truncate -s 128M disk.img
run: env mkfs.btrfs --rootdir disk_root/ disk.img
mkdir: /tmp/.tmpgIaNNl/mountpoint/
run: sudo -E --non-interactive mount disk.img mountpoint/

thread 'test_cp::test_cp_reflink_always_override' panicked at tests/uutests/src/lib/util.rs:1982:35:
called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: "wait: Timeout of '30s' reached" }

failures:
    test_cp::test_cp_reflink_always_override
    test_df::test_total
    test_env::test_simulation_of_terminal_for_stdin_only
    test_env::test_simulation_of_terminal_size_information
    test_env::test_simulation_of_terminal_true

Building with make test on the host instead I get errors (albeit make test in the package worked!):

error[E0658]: `let` expressions in this position are unstable
    --> /home/jak/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/selinux-0.5.3/src/lib.rs:1635:12
     |
1635 |         if let Ok(this_type) = self.the_type()
     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information

(the feature only was stabilized in Rust 1.88, it would be nice to use sustainable crate versions - it will take some more months before Rust 1.88 is available to Ubuntu, relying on a new language version merely released 2 months ago isn't particularly helpful)

(I think the packaging vendored selinux 0.5.2, but it now released 0.5.3 which is incompatible with Rust 1.85, which is the latest Rust on Ubuntu, and the dependency probably allows minor version bumps).

julian-klode avatar Aug 14 '25 07:08 julian-klode

I forwarded the SELInux 0.5.3 bumping Rust requirements to 1.88 to https://codeberg.org/koutheir/selinux/issues/3

julian-klode avatar Aug 14 '25 07:08 julian-klode

On armhf, ppc64el, and s390x we have a couple more failing tests: https://launchpad.net/ubuntu/+source/rust-coreutils/0.1.0+git20250813.4af2a84-0ubuntu1

The s390x od one may be an endianness issue given it only seems to happen there.

julian-klode avatar Aug 14 '25 15:08 julian-klode