about summary refs log tree commit diff
path: root/pkgs/development/interpreters/bats/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters/bats/default.nix')
-rw-r--r--pkgs/development/interpreters/bats/default.nix22
1 files changed, 19 insertions, 3 deletions
diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix
index 00aada39652d..97a209f20841 100644
--- a/pkgs/development/interpreters/bats/default.nix
+++ b/pkgs/development/interpreters/bats/default.nix
@@ -22,13 +22,13 @@
 
 resholve.mkDerivation rec {
   pname = "bats";
-  version = "1.8.2";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "bats-core";
     repo = "bats-core";
     rev = "v${version}";
-    sha256 = "sha256-Kitlx26cK2RiAC+PdRIdDLF5crorg6UB6uSzbKCrDHE=";
+    sha256 = "sha256-nKBNbqJYRd/3tO85E6KrOh32yOaNKpLXxz5gQ5Uvmcc=";
   };
 
   patchPhase = ''
@@ -91,6 +91,8 @@ resholve.mkDerivation rec {
         "$pre_command" = true;
         "$BATS_TEST_NAME" = true;
         "${placeholder "out"}/libexec/bats-core/bats-exec-test" = true;
+        "$BATS_LINE_REFERENCE_FORMAT" = "comma_line";
+        "$BATS_LOCKING_IMPLEMENTATION" = "${flock}/bin/flock";
       };
       execer = [
         /*
@@ -136,8 +138,15 @@ resholve.mkDerivation rec {
       setup() {
         bats_load_library bats-support
         bats_load_library bats-assert
+        bats_load_library bats-file
 
         bats_require_minimum_version 1.5.0
+
+        TEST_TEMP_DIR="$(temp_make --prefix 'nixpkgs-bats-test')"
+      }
+
+      teardown() {
+        temp_del "$TEST_TEMP_DIR"
       }
 
       @test echo_hi {
@@ -150,10 +159,17 @@ resholve.mkDerivation rec {
         assert_line --index 0 "cp: missing file operand"
         assert_line --index 1 "Try 'cp --help' for more information."
       }
+
+      @test file_exists {
+        echo "hi" > "$TEST_TEMP_DIR/hello.txt"
+        assert_file_exist "$TEST_TEMP_DIR/hello.txt"
+        run cat "$TEST_TEMP_DIR/hello.txt"
+        assert_output "hi"
+      }
     '';
     passAsFile = [ "testScript" ];
   } ''
-    ${bats.withLibraries (p: [ p.bats-support p.bats-assert ])}/bin/bats "$testScriptPath"
+    ${bats.withLibraries (p: [ p.bats-support p.bats-assert p.bats-file ])}/bin/bats "$testScriptPath"
     touch "$out"
   '';