From df84e3f5319c4008bbe1420f7d18f8ef842b56b8 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Sat, 13 Dec 2025 10:08:34 +1100 Subject: [PATCH] fix: skip symlink/permissions tests on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These tests fail on Windows because: - os.Symlink requires elevated privileges - Unix-style permissions (0700, 0600) don't apply 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- cmd/bd/doctor/fix/symlink_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmd/bd/doctor/fix/symlink_test.go b/cmd/bd/doctor/fix/symlink_test.go index 99f0fe38..76a3a6c3 100644 --- a/cmd/bd/doctor/fix/symlink_test.go +++ b/cmd/bd/doctor/fix/symlink_test.go @@ -3,6 +3,7 @@ package fix import ( "os" "path/filepath" + "runtime" "testing" ) @@ -13,6 +14,9 @@ import ( // - When .beads is a symlink, Permissions() should return nil without changing anything // - This prevents attempts to chmod symlink targets (which may be read-only like /nix/store) func TestPermissions_SkipsSymlinkedBeadsDir(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("Skipping symlink test on Windows - requires elevated privileges") + } tmpDir := t.TempDir() // Create target .beads directory with wrong permissions @@ -62,6 +66,9 @@ func TestPermissions_SkipsSymlinkedBeadsDir(t *testing.T) { // TestPermissions_SkipsSymlinkedDatabase verifies that chmod is skipped for // symlinked database files, but .beads directory permissions are still fixed. func TestPermissions_SkipsSymlinkedDatabase(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("Skipping symlink test on Windows - requires elevated privileges") + } tmpDir := t.TempDir() // Create real .beads directory with wrong permissions @@ -125,6 +132,9 @@ func TestPermissions_SkipsSymlinkedDatabase(t *testing.T) { // TestPermissions_FixesRegularFiles verifies that permissions ARE fixed for // regular (non-symlinked) files. func TestPermissions_FixesRegularFiles(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("Skipping permissions test on Windows - Unix-style permissions don't apply") + } tmpDir := t.TempDir() // Create .beads directory with wrong permissions