test(local): move classify tests to local

Here, we introduce the `nix-local` feature, for features meant only
to exist locally in the nix sandbox.

This is an attempt to avoid the CI runner's unit testing, as that fails
to set the grid width correctly.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
This commit is contained in:
Christina Sørensen 2023-10-05 14:00:18 +02:00
parent dc85c80d7a
commit 4cd9731c15
No known key found for this signature in database
GPG key ID: 26C542FD97F965CE
8 changed files with 31 additions and 7 deletions

View file

@ -118,6 +118,8 @@ vendored-openssl = ["git2/vendored-openssl"]
vendored-libgit2 = ["git2/vendored-libgit2"]
# Should only be used inside of flake.nix
nix = []
# Should only be used inside of flake.nix locally (not on CI)
nix-local = []
# make dev builds faster by excluding debug symbols

View file

@ -272,7 +272,7 @@ gen_test_dir:
#
# Required nix, likely won't work on windows.
@itest:
nix build -L ./#trycmd
nix build -L ./#trycmd-local
# Runs integration tests in nix sandbox, and dumps outputs.
#

View file

@ -124,6 +124,22 @@
inherit buildInputs;
};
# TODO: add conditionally to checks.
# Run `nix build .#trycmd` to run integration tests
trycmd-local = naersk'.buildPackage {
src = ./.;
mode = "test";
doCheck = true;
# No reason to wait for release build
release = false;
# buildPhase files differ between dep and main phase
singleStep = true;
# set itests files creation date to unix epoch
buildPhase = ''touch --date=@0 tests/itest/*'';
cargoTestOptions = opts: opts ++ ["--features nix" "--features nix-local"];
inherit buildInputs;
};
# Run `nix build .#trydump` to dump testing files
trydump = naersk'.buildPackage {
src = ./.;
@ -135,7 +151,7 @@
singleStep = true;
# set itests files creation date to unix epoch
buildPhase = ''touch --date=@0 tests/itest/*; rm tests/cmd/*.stdout || echo; rm tests/cmd/*.stderr || echo;'';
cargoTestOptions = opts: opts ++ ["--features nix"];
cargoTestOptions = opts: opts ++ ["--features nix" "--features nix-local"];
TRYCMD = "dump";
postInstall = ''
cp dump $out -r

View file

@ -20,3 +20,9 @@ fn cli_windows_tests() {
fn cli_nix_tests() {
trycmd::TestCases::new().case("tests/cmd/*_nix.toml");
}
#[test]
#[cfg(feature = "nix-local")]
fn cli_nix_local_tests() {
trycmd::TestCases::new().case("tests/cmd/*_nix_local.toml");
}

View file

@ -1,5 +0,0 @@
]8;;file:///home/ces/org/src/git/eza/tests/itest/a/a]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/exa/exa]8;;// ]8;;file:///home/ces/org/src/git/eza/tests/itest/image.jpg.img.c.rs.log.png/image.jpg.img.c.rs.log.png]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/m/m]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/vagrant/vagrant]8;;//
]8;;file:///home/ces/org/src/git/eza/tests/itest/b/b]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/f/f]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/index.svg/index.svg]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/n/n]8;;/
]8;;file:///home/ces/org/src/git/eza/tests/itest/c/c]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/g/g]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/j/j]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/o/o]8;;/
]8;;file:///home/ces/org/src/git/eza/tests/itest/d/d]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/h/h]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/k/k]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/p/p]8;;/
]8;;file:///home/ces/org/src/git/eza/tests/itest/e/e]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/i/i]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/l/l]8;;/ ]8;;file:///home/ces/org/src/git/eza/tests/itest/q/q]8;;/

View file

@ -0,0 +1,5 @@
]8;;file:///build/source/tests/itest/a/a]8;;/ ]8;;file:///build/source/tests/itest/exa/exa]8;;// ]8;;file:///build/source/tests/itest/image.jpg.img.c.rs.log.png/image.jpg.img.c.rs.log.png]8;;/ ]8;;file:///build/source/tests/itest/m/m]8;;/ ]8;;file:///build/source/tests/itest/vagrant/vagrant]8;;//
]8;;file:///build/source/tests/itest/b/b]8;;/ ]8;;file:///build/source/tests/itest/f/f]8;;/ ]8;;file:///build/source/tests/itest/index.svg/index.svg]8;;/ ]8;;file:///build/source/tests/itest/n/n]8;;/
]8;;file:///build/source/tests/itest/c/c]8;;/ ]8;;file:///build/source/tests/itest/g/g]8;;/ ]8;;file:///build/source/tests/itest/j/j]8;;/ ]8;;file:///build/source/tests/itest/o/o]8;;/
]8;;file:///build/source/tests/itest/d/d]8;;/ ]8;;file:///build/source/tests/itest/h/h]8;;/ ]8;;file:///build/source/tests/itest/k/k]8;;/ ]8;;file:///build/source/tests/itest/p/p]8;;/
]8;;file:///build/source/tests/itest/e/e]8;;/ ]8;;file:///build/source/tests/itest/i/i]8;;/ ]8;;file:///build/source/tests/itest/l/l]8;;/ ]8;;file:///build/source/tests/itest/q/q]8;;/