- From cafe196707de8c678a65e29086e34c24ddea74f4 Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 12 Apr 2025 20:13:22 +0200
- Subject: [PATCH 1/2] tests: nfsbuildtest.ksh93 should set TMPDIR/TEMP/TMP to
- subdir on NFS filesystem
- nfsbuildtest.ksh93 should set TMPDIR/TEMP/TMP to subdir on NFS filesystem,
- the bugs with using TMPDIR/TEMP/TMP access issues have been long fixed
- (e.g. see https://cygwin.com/pipermail/cygwin/2024-March/255625.html)
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- tests/nfsbuildtest/nfsbuildtest.ksh93 | 54 ++++++++++++++++-----------
- 1 file changed, 33 insertions(+), 21 deletions(-)
- diff --git a/tests/nfsbuildtest/nfsbuildtest.ksh93 b/tests/nfsbuildtest/nfsbuildtest.ksh93
- index d4e7d7a..a12967d 100644
- --- a/tests/nfsbuildtest/nfsbuildtest.ksh93
- +++ b/tests/nfsbuildtest/nfsbuildtest.ksh93
- @@ -77,13 +77,17 @@ function gcc_build
- # temp dir setup
- #
- - # fixme: Does not work with NFSv4.1 filesystem from exported Linux tmpfs - why ?
- - #tmpdir='/cygdrive/m/tmpdir'
- - #mkdir -p "$tmpdir"
- - #chmod a=rwxt "$tmpdir"
- - #if [[ -d "$tmpdir" && -w "$tmpdir" ]] ; then
- - # export TMPDIR="$tmpdir"
- - #fi
- + tmpdir="$PWD/tmpdir"
- + mkdir -p "$tmpdir"
- + if [[ -d "$tmpdir" && -w "$tmpdir" ]] ; then
- + printf '#### Using temp dir %q\n' "$tmpdir"
- + export TMPDIR="$tmpdir"
- + export TEMP="$tmpdir"
- + export TMP="$tmpdir"
- + else
- + print -u2 -f "TEMPDIR %q on NFS filesystem does not work.\n" "$tmpdir"
- + return 1
- + fi
- #
- # print user info
- @@ -249,13 +253,17 @@ function bash_build
- # temp dir setup
- #
- - # fixme: Does not work with NFSv4.1 filesystem from exported Linux tmpfs - why ?
- - #tmpdir='/cygdrive/m/tmpdir'
- - #mkdir -p "$tmpdir"
- - #chmod a=rwxt "$tmpdir"
- - #if [[ -d "$tmpdir" && -w "$tmpdir" ]] ; then
- - # export TMPDIR="$tmpdir"
- - #fi
- + tmpdir="$PWD/tmpdir"
- + mkdir -p "$tmpdir"
- + if [[ -d "$tmpdir" && -w "$tmpdir" ]] ; then
- + printf '#### Using temp dir %q\n' "$tmpdir"
- + export TMPDIR="$tmpdir"
- + export TEMP="$tmpdir"
- + export TMP="$tmpdir"
- + else
- + print -u2 -f "TEMPDIR %q on NFS filesystem does not work.\n" "$tmpdir"
- + return 1
- + fi
- #
- # print user info
- @@ -413,13 +421,17 @@ function msnfs41client_build
- # temp dir setup
- #
- - # fixme: Does not work with NFSv4.1 filesystem from exported Linux tmpfs - why ?
- - #tmpdir='/cygdrive/m/tmpdir'
- - #mkdir -p "$tmpdir"
- - #chmod a=rwxt "$tmpdir"
- - #if [[ -d "$tmpdir" && -w "$tmpdir" ]] ; then
- - # export TMPDIR="$tmpdir"
- - #fi
- + tmpdir="$PWD/tmpdir"
- + mkdir -p "$tmpdir"
- + if [[ -d "$tmpdir" && -w "$tmpdir" ]] ; then
- + printf '#### Using temp dir %q\n' "$tmpdir"
- + export TMPDIR="$tmpdir"
- + export TEMP="$tmpdir"
- + export TMP="$tmpdir"
- + else
- + print -u2 -f "TEMPDIR %q on NFS filesystem does not work.\n" "$tmpdir"
- + return 1
- + fi
- #
- # print user info
- --
- 2.45.1
- From 1ecf4a5a05201ec6e84693775bbee92e0d42c12e Mon Sep 17 00:00:00 2001
- From: Roland Mainz <roland.mainz@nrubsig.org>
- Date: Sat, 12 Apr 2025 21:34:01 +0200
- Subject: [PATCH 2/2] tests: Add manual test whether TMPDIR/TEMP/TMP can be on
- a NFS filesystem
- Add manual test whether TMPDIR/TEMP/TMP can be on a NFS filesystem.
- Signed-off-by: Cedric Blancher <cedric.blancher@gmail.com>
- ---
- tests/manual_testing.txt | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
- diff --git a/tests/manual_testing.txt b/tests/manual_testing.txt
- index 0141a80..ed124ff 100644
- --- a/tests/manual_testing.txt
- +++ b/tests/manual_testing.txt
- @@ -1,5 +1,5 @@
- #
- -# ms-nfs41-client manual testing sequence, 2025-04-08
- +# ms-nfs41-client manual testing sequence, 2025-04-12
- #
- # Draft version, needs to be turned into automated tests
- # if possible
- @@ -456,6 +456,14 @@ $ runat "x1" "ls -la"
- $ bash -c 'cd -@ "x1" && ls -la'
- +#
- +# Test whether TMPDIR, TEMP, TMP can be on a NFS filesystem
- +#
- +One-liner, should print two times lines with "test OK", stderr should be empty
- +---- snip ----
- +$ time ksh93 -c 'rm -Rf nfstmp1 gcc.x.strace.log x.c x.exe && mkdir nfstmp1 ; export TMPDIR="$PWD/nfstmp1" TEMP="$PWD/nfstmp1" TMP="$PWD/nfstmp1"; rm -f x.c x.exe && printf "#include <stdio.h>\n#include <stdlib.h>\nint main(int ac, char *av[]) { puts(\"hello world\"); return EXIT_SUCCESS;}\n" >x.c && strace -b $((512*1024)) -m syscall -o gcc.x.strace.log gcc x.c -o x.exe && ./x.exe && echo "# Compile Test OK" ; n="$(grep -E "/nfstmp1/.+\.o" gcc.x.strace.log | wc -l)" ; if (( n > 0 )) ; then echo "# Temp usage test OK: used by *.o files" ; else echo "# Test *.o FAILED" ; fi'
- +---- snip ---
- +
- #
- # ksh93 (ast-ksh)
- #
- --
- 2.45.1
msnfs41client: Tests for TMPDIR/TEMP/TMP on NFS filesystem, 2025-04-12
Posted by Anonymous on Sat 12th Apr 2025 20:41
raw | new post
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.