tests: reset ncpfs metadata smoke directory
All checks were successful
Source release / source-package (push) Successful in 1m10s

This commit is contained in:
OpenAI
2026-06-10 18:48:23 +00:00
committed by Mario Fetka
parent af4489a960
commit 36eb6706d0

View File

@@ -11,6 +11,7 @@ if [ "$#" -lt 4 ]; then
echo "Set NWFS_NCPFS_TRUSTEE_OBJECT and NWFS_NCPFS_TRUSTEE_TYPE to override the default GUEST user trustee mutation." >&2
echo "Set NWFS_NCPFS_RIGHTS_MATRIX to a space-separated trustee-rights matrix; default: R F RF W C E M A RWCEMFA S." >&2
echo "Set NWFS_NCPFS_RIGHTS_USER/PASSWORD to mount as the target user and verify effective rights exactly." >&2
echo "Set NWFS_NCPFS_RESET_TESTDIR=0 to keep an existing test directory. Default is 1 and removes TESTDIR before the smoke." >&2
echo "Set NWFS_NCPFS_DIR_QUOTA_4K to override the directory quota limit; set it empty to skip. Directory quota is off by default for NetWare 3.x/4.x smoke." >&2
echo "Set NWFS_NCPFS_USER_QUOTA_4K to enable the user-volume restriction smoke." >&2
echo "Set NWFS_NCPFS_USER_QUOTA_EXPECT to metadata, linux, or auto; default auto." >&2
@@ -38,6 +39,7 @@ USER_QUOTA_TYPE=${NWFS_NCPFS_USER_QUOTA_TYPE:-$TRUSTEE_TYPE}
USER_QUOTA_EXPECT=${NWFS_NCPFS_USER_QUOTA_EXPECT:-auto}
USER_QUOTA_HOST_USER=${NWFS_NCPFS_USER_QUOTA_HOST_USER:-}
RIGHTS_MATRIX=${NWFS_NCPFS_RIGHTS_MATRIX:-R F RF W C E M A RWCEMFA S}
RESET_TESTDIR=${NWFS_NCPFS_RESET_TESTDIR:-1}
RIGHTS_USER=${NWFS_NCPFS_RIGHTS_USER:-}
RIGHTS_PASSWORD=${NWFS_NCPFS_RIGHTS_PASSWORD-}
RIGHTS_MOUNTPOINT=${NWFS_NCPFS_RIGHTS_MOUNTPOINT:-}
@@ -49,6 +51,7 @@ DIRQUOTA_DUMP=$(mktemp "${TMPDIR:-/tmp}/nwfs_ncpfs_dirquota_dump.XXXXXX")
USERQUOTA_OUT=$(mktemp "${TMPDIR:-/tmp}/nwfs_ncpfs_userquota.XXXXXX")
USERQUOTA_DUMP=$(mktemp "${TMPDIR:-/tmp}/nwfs_ncpfs_userquota_dump.XXXXXX")
RIGHTS_DUMP=$(mktemp "${TMPDIR:-/tmp}/nwfs_ncpfs_rights_dump.XXXXXX")
RESET_ERR=$(mktemp "${TMPDIR:-/tmp}/nwfs_ncpfs_reset.XXXXXX")
case "$TESTDIR" in
/*|*..*)
@@ -88,7 +91,7 @@ cleanup() {
umount "$RIGHTS_MOUNTPOINT" || true
fi
fi
rm -f "$MKDIR_ERR" "$WRITE_ERR" "$GRANT_ERR" "$REVOKE_ERR" "$DIRQUOTA_DUMP" "$USERQUOTA_OUT" "$USERQUOTA_DUMP" "$RIGHTS_DUMP"
rm -f "$MKDIR_ERR" "$WRITE_ERR" "$GRANT_ERR" "$REVOKE_ERR" "$DIRQUOTA_DUMP" "$USERQUOTA_OUT" "$USERQUOTA_DUMP" "$RIGHTS_DUMP" "$RESET_ERR"
[ "$CLEAN_MOUNT" = 1 ] && rmdir "$MOUNTPOINT" 2>/dev/null || true
}
trap cleanup EXIT HUP INT TERM
@@ -163,6 +166,26 @@ NCP_TEST_PATH=$MOUNTPOINT/$TESTDIR
HOST_TEST_PATH=$SYSROOT/$TESTDIR
NW_TEST_PATH=$VOLUME:$TESTDIR
case "$RESET_TESTDIR" in
1|yes|true|on)
if [ -e "$NCP_TEST_PATH" ]; then
echo "removing existing test directory $NCP_TEST_PATH" >&2
if ! rm -rf -- "$NCP_TEST_PATH" 2>"$RESET_ERR"; then
echo "cannot remove existing test directory $NW_TEST_PATH through NCPFS" >&2
cat "$RESET_ERR" >&2 || true
echo "Set NWFS_NCPFS_RESET_TESTDIR=0 to reuse it, or remove it manually." >&2
exit 1
fi
fi
;;
0|no|false|off)
;;
*)
echo "invalid NWFS_NCPFS_RESET_TESTDIR=$RESET_TESTDIR" >&2
exit 2
;;
esac
if [ -d "$NCP_TEST_PATH" ]; then
echo "using existing test directory $NCP_TEST_PATH" >&2
else