From: Viktor Szakats Date: Sun, 23 Mar 2025 23:31:33 +0000 (+0100) Subject: test615: fix for Cygwin, unignore in CI X-Git-Tag: curl-8_13_0~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=579625efa577f99e914ef6bee6505ec18d9abfbf;p=thirdparty%2Fcurl.git test615: fix for Cygwin, unignore in CI Setting a server-side file read-only by `chmod 0444` has does not prevent overwriting it via SFTP upload (as tested in CI). Fix it by setting its MS-DOS read-only attribute in addition. It requires the Cygwin tool `chattr`. Also unignore in CI. Fixes: ``` test 0615...[SFTP put remote failure] curl returned 0, when expecting 9 615: exit FAILED === Start of file stderr615 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 30 0 0 100 30 0 93 --:--:-- --:--:-- --:--:-- 95 100 30 0 0 100 30 0 92 --:--:-- --:--:-- --:--:-- 92 === End of file stderr615 ``` Ref: https://github.com/curl/curl/actions/runs/14037991918/job/39300723214#step:12:1269 Closes #16818 --- diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b2dbd60faf..d8eb86fe84 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -149,7 +149,7 @@ jobs: timeout-minutes: 15 run: | PATH=/usr/bin - export TFLAGS='-j8 ${{ matrix.tflags }} ~615' + export TFLAGS='-j8 ${{ matrix.tflags }}' if [ -x "$(cygpath "${SYSTEMROOT}/System32/curl.exe")" ]; then TFLAGS+=" -ac $(cygpath "${SYSTEMROOT}/System32/curl.exe")" fi diff --git a/tests/libtest/test613.pl b/tests/libtest/test613.pl index 3bcd32aa44..2d4f390f77 100755 --- a/tests/libtest/test613.pl +++ b/tests/libtest/test613.pl @@ -66,6 +66,9 @@ if ($ARGV[0] eq "prepare") # represented exactly on a FAT filesystem. utime time, timegm(0,0,12,31,11,100), "rofile.txt"; chmod 0444, "rofile.txt"; + if($^O eq 'cygwin') { + system "chattr +r rofile.txt"; + } exit 0; } @@ -75,6 +78,9 @@ elsif ($ARGV[0] eq "postprocess") my $logfile = $ARGV[2]; # Clean up the test directory + if($^O eq 'cygwin') { + system "chattr -r $dirname/rofile.txt"; + } chmod 0666, "$dirname/rofile.txt"; unlink "$dirname/rofile.txt"; unlink "$dirname/plainfile.txt";