From 064213ceb882e4d2566ea88f7f0be50e8518fa19 Mon Sep 17 00:00:00 2001 From: Ross Smith II Date: Sun, 8 Jun 2025 22:20:46 -0700 Subject: [PATCH] fix(fs): check for unsupported error on modern Windows (fixes #10164) (#10165) ### Purpose Locally, on Windows 11, and on the windows-2025 GitHub runner (go 1.23 and 1.24), the `TestCopyRange` test is failing with `The request is not supported.` On windows-2022 and windows-2019: ```go err == syscall.ENOTSUP ``` worked, but on Windows 11 and windows-2025, we need: ```go errors.Is(err, errors.ErrUnsupported) ``` ### Testing Tested on Windows 11, windows-2019, windows-2022, and [windows-2025](https://github.com/rasa/syncthing/actions/runs/15525123437/job/43703630634#step:7:2811). --- lib/fs/filesystem_copy_range_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/fs/filesystem_copy_range_test.go b/lib/fs/filesystem_copy_range_test.go index 04328be0f..d8fb3efc9 100644 --- a/lib/fs/filesystem_copy_range_test.go +++ b/lib/fs/filesystem_copy_range_test.go @@ -8,6 +8,7 @@ package fs import ( "bytes" + "errors" "io" "math/rand" "os" @@ -329,7 +330,7 @@ func TestCopyRange(tttt *testing.T) { t.Fatal("dst file is not a basic file") } if err := impl(srcBasic, dstBasic, testCase.srcOffset, testCase.dstOffset, testCase.copySize); err != nil { - if err == syscall.ENOTSUP { + if errors.Is(err, errors.ErrUnsupported) { // Test runner can adjust directory in which to run the tests, that allow broader tests. t.Skip("Not supported on the current filesystem, set STFSTESTPATH env var.") }