]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Update cli-tests/file-stat tests 4353/head
authorLi-Yu Yu <aaronyu@google.com>
Fri, 28 Mar 2025 21:45:47 +0000 (21:45 +0000)
committerLi-Yu Yu <aaronyu@google.com>
Fri, 28 Mar 2025 22:46:26 +0000 (22:46 +0000)
programs/fileio.c
programs/util.c
tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact
tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.glob [moved from tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact with 91% similarity]
tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.glob [moved from tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.exact with 86% similarity]
tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.glob [moved from tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact with 90% similarity]
tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.glob [moved from tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.exact with 84% similarity]

index b1303a2ad140fd60be0a31b8336c770f859f63b4..77f3d35f9bb4de4d692d9aab11b28b418a9e4ba4 100644 (file)
@@ -630,6 +630,7 @@ FIO_openDstFile(FIO_ctx_t* fCtx, FIO_prefs_t* const prefs,
     }
 
     {
+        int isDstRegFile;
 #if defined(_WIN32)
         /* Windows requires opening the file as a "binary" file to avoid
          * mangling. This macro doesn't exist on unix. */
@@ -648,10 +649,11 @@ FIO_openDstFile(FIO_ctx_t* fCtx, FIO_prefs_t* const prefs,
         }
 #endif
 
+        /* Check regular file after opening with O_CREAT */
+        isDstRegFile = UTIL_isFdRegularFile(fd);
         if (prefs->sparseFileSupport == 1) {
             prefs->sparseFileSupport = ZSTD_SPARSE_DEFAULT;
-            /* Check regular file after opening with O_CREAT */
-            if (!UTIL_isFdRegularFile(fd)) {
+            if (!isDstRegFile) {
                 prefs->sparseFileSupport = 0;
                 DISPLAYLEVEL(4, "Sparse File Support is disabled when output is not a file \n");
             }
index 850bcacd2e9aa4db73d6084d9b2098cac2e42ace..d11f13cfd7098eb4f0fb20427589d2baa2c7f55a 100644 (file)
@@ -202,7 +202,7 @@ int UTIL_isFdRegularFile(int fd)
     stat_t statbuf;
     int ret;
     UTIL_TRACE_CALL("UTIL_isFdRegularFile(%d)", fd);
-    ret = UTIL_fstat(fd, "", &statbuf) && UTIL_isRegularFileStat(&statbuf);
+    ret = fd >= 0 && UTIL_fstat(fd, "", &statbuf) && UTIL_isRegularFileStat(&statbuf);
     UTIL_TRACE_RET(ret);
     return ret;
 }
index 9f254f8c25e4dc33ad3d4e40916e50e9a28b103e..05d91ffc9b742d499530c283356df2baebff8e45 100644 (file)
@@ -22,6 +22,8 @@ Trace:FileStat: > UTIL_isRegularFile(out/file.zst)
 Trace:FileStat:  > UTIL_stat(-1, out/file.zst)
 Trace:FileStat:  < 0
 Trace:FileStat: < 0
+Trace:FileStat: > UTIL_isFdRegularFile(-1)
+Trace:FileStat: < 0
 Trace:FileStat: > UTIL_isFileDescriptorPipe(out/file.zst)
 Trace:FileStat: < 0
 zstd: out/file.zst: Permission denied
similarity index 91%
rename from tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.exact
rename to tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.glob
index 32d248ee50bf57a99ca2189b28322a230fb601ad..17a677deba46469758042c02aadf4b56fc6cdd62 100644 (file)
@@ -22,6 +22,10 @@ Trace:FileStat: > UTIL_isRegularFile(file.zst)
 Trace:FileStat:  > UTIL_stat(-1, file.zst)
 Trace:FileStat:  < 0
 Trace:FileStat: < 0
+Trace:FileStat: > UTIL_isFdRegularFile(*)
+Trace:FileStat:  > UTIL_stat(*, )
+Trace:FileStat:  < 1
+Trace:FileStat: < 1
 Trace:FileStat: > UTIL_isRegularFile(file.zst)
 Trace:FileStat:  > UTIL_stat(-1, file.zst)
 Trace:FileStat:  < 1
similarity index 86%
rename from tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.exact
rename to tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.glob
index 9183c46745947d2861836bdf2c0a6f96ffe6b706..38732cbe995a75532de5c9f776b91569c486f777 100644 (file)
@@ -14,6 +14,10 @@ Trace:FileStat: > UTIL_isRegularFile(file.zst)
 Trace:FileStat:  > UTIL_stat(-1, file.zst)
 Trace:FileStat:  < 0
 Trace:FileStat: < 0
+Trace:FileStat: > UTIL_isFdRegularFile(*)
+Trace:FileStat:  > UTIL_stat(*, )
+Trace:FileStat:  < 1
+Trace:FileStat: < 1
 Trace:FileStat: > UTIL_isRegularFile(file.zst)
 Trace:FileStat:  > UTIL_stat(-1, file.zst)
 Trace:FileStat:  < 1
similarity index 90%
rename from tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.exact
rename to tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.glob
index ad3a0deb868664bbd90c22e6c267926a1ee9a294..ce194dfb3767b11a7a5b9b4a4e3dfc22f0d7634a 100644 (file)
@@ -22,6 +22,10 @@ Trace:FileStat: > UTIL_isRegularFile(file)
 Trace:FileStat:  > UTIL_stat(-1, file)
 Trace:FileStat:  < 0
 Trace:FileStat: < 0
+Trace:FileStat: > UTIL_isFdRegularFile(*)
+Trace:FileStat:  > UTIL_stat(*, )
+Trace:FileStat:  < 1
+Trace:FileStat: < 1
 Trace:FileStat: > UTIL_isRegularFile(file)
 Trace:FileStat:  > UTIL_stat(-1, file)
 Trace:FileStat:  < 1
similarity index 84%
rename from tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.exact
rename to tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.glob
index 716a7ac7b3473160d1d885b6f6613e8e6695aecc..9eb9208832fbe7bdcd879de2bf84955745cd65c8 100644 (file)
@@ -14,6 +14,10 @@ Trace:FileStat: > UTIL_isRegularFile(file)
 Trace:FileStat:  > UTIL_stat(-1, file)
 Trace:FileStat:  < 0
 Trace:FileStat: < 0
+Trace:FileStat: > UTIL_isFdRegularFile(*)
+Trace:FileStat:  > UTIL_stat(*, )
+Trace:FileStat:  < 1
+Trace:FileStat: < 1
 Trace:FileStat: > UTIL_isRegularFile(file)
 Trace:FileStat:  > UTIL_stat(-1, file)
 Trace:FileStat:  < 1