aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-08-31 13:32:52 -0700
committerchrislu <chris.lu@gmail.com>2025-08-31 13:32:52 -0700
commitbf5f32b2f7e30d130aae29be1269d712a1894c5b (patch)
tree4f8da454dec92625d76da23b72b316f8f62d5065
parent2915be4fa30947c548ab40a364bd47fe4d477310 (diff)
downloadseaweedfs-bf5f32b2f7e30d130aae29be1269d712a1894c5b.tar.xz
seaweedfs-bf5f32b2f7e30d130aae29be1269d712a1894c5b.zip
external posix tests
-rw-r--r--.github/workflows/posix-compliance.yml7
-rw-r--r--test/fuse_integration/posix_external_test.go8
2 files changed, 14 insertions, 1 deletions
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")
}