From bf5f32b2f7e30d130aae29be1269d712a1894c5b Mon Sep 17 00:00:00 2001 From: chrislu Date: Sun, 31 Aug 2025 13:32:52 -0700 Subject: [PATCH] external posix tests --- .github/workflows/posix-compliance.yml | 7 ++++++- test/fuse_integration/posix_external_test.go | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/posix-compliance.yml b/.github/workflows/posix-compliance.yml index 2235f8703..bdc5d1194 100644 --- a/.github/workflows/posix-compliance.yml +++ b/.github/workflows/posix-compliance.yml @@ -240,7 +240,11 @@ jobs: # Set up external tools if requested if [ "${{ github.event.inputs.enable_external_tests }}" = "true" ]; then - make -f posix_Makefile setup-external-tools || true + echo "Setting up external POSIX testing tools..." + make -f posix_Makefile setup-external-tools + # Make external tools mandatory when explicitly requested + export POSIX_REQUIRE_EXTERNAL_TOOLS="true" + echo "POSIX_REQUIRE_EXTERNAL_TOOLS=true" >> $GITHUB_ENV fi # Verify SeaweedFS cluster is accessible @@ -277,6 +281,7 @@ jobs: id: posix-tests env: SEAWEEDFS_MOUNT_POINT: ${{ env.SEAWEEDFS_MOUNT_POINT }} + POSIX_REQUIRE_EXTERNAL_TOOLS: ${{ env.POSIX_REQUIRE_EXTERNAL_TOOLS }} run: | cd test/fuse_integration diff --git a/test/fuse_integration/posix_external_test.go b/test/fuse_integration/posix_external_test.go index f1c2a1021..c6c02a061 100644 --- a/test/fuse_integration/posix_external_test.go +++ b/test/fuse_integration/posix_external_test.go @@ -64,6 +64,10 @@ func (s *ExternalPOSIXTestSuite) TestPjdFsTest(t *testing.T) { // Check if pjdfstest is available _, err := exec.LookPath("pjdfstest") if err != nil { + // For comprehensive POSIX compliance testing, external tools should be mandatory + if os.Getenv("POSIX_REQUIRE_EXTERNAL_TOOLS") == "true" { + t.Fatalf("pjdfstest is required for comprehensive POSIX compliance testing but not found. Install from: https://github.com/pjd/pjdfstest") + } t.Skip("pjdfstest not found. Install from: https://github.com/pjd/pjdfstest") } @@ -119,6 +123,10 @@ func (s *ExternalPOSIXTestSuite) TestNFSTestPOSIX(t *testing.T) { // Check if nfstest_posix is available _, err := exec.LookPath("nfstest_posix") if err != nil { + // For comprehensive POSIX compliance testing, external tools should be mandatory + if os.Getenv("POSIX_REQUIRE_EXTERNAL_TOOLS") == "true" { + t.Fatalf("nfstest_posix is required for comprehensive POSIX compliance testing but not found. Install via: pip install nfstest") + } t.Skip("nfstest_posix not found. Install via: pip install nfstest") }