Sfoglia il codice sorgente

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>
Christina Sørensen 2 anni fa
parent
commit
4cd9731c15

+ 2 - 0
Cargo.toml

@@ -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

+ 1 - 1
Justfile

@@ -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.
 #

+ 17 - 1
flake.nix

@@ -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

+ 6 - 0
tests/cli_tests.rs

@@ -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");
+}

+ 0 - 5
tests/cmd/classify-hyperlink-width-50_all.stdout

@@ -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;;/  

+ 0 - 0
tests/cmd/classify-hyperlink-width-50_all.stderr → tests/cmd/classify-hyperlink-width-50_nix_local.stderr


+ 5 - 0
tests/cmd/classify-hyperlink-width-50_nix_local.stdout

@@ -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;;/  

+ 0 - 0
tests/cmd/classify-hyperlink-width-50_all.toml → tests/cmd/classify-hyperlink-width-50_nix_local.toml