path: root/regress/
diff options
authorDamien Miller <>2011-01-17 16:17:09 +1100
committerDamien Miller <>2011-01-17 16:17:09 +1100
commit58497780ab22d56ac5216c71f5a20efc1e39ce2e (patch)
tree312f7c1feb15d707cca175244d0f5541becdf5ca /regress/
parent0c93adc7c1814b113d25c5e214973a3aa630b0af (diff)
- (djm) [ regress/ regress/]
[regress/ regress/] Rework how feature tests are disabled on platforms that do not support them; add a "config_defined()" shell function that greps for defines in config.h and use them to decide on feature tests. Convert a couple of existing grep's over config.h to use the new function Add a define "FILESYSTEM_NO_BACKSLASH" for filesystem that can't represent backslash characters in filenames, enable it for Cygwin and use it to turn of tests for quotes backslashes in based on discussion with vinschen AT and dtucker@; ok dtucker@
Diffstat (limited to 'regress/')
1 files changed, 15 insertions, 8 deletions
diff --git a/regress/ b/regress/
index 72bb17d7..8d4df2c9 100644
--- a/regress/
+++ b/regress/
@@ -3,11 +3,18 @@
tid="sftp glob"
+config_defined FILESYSTEM_NO_BACKSLASH && nobs="not supported on this platform"
sftp_ls() {
+ skip=$5
+ if test "x$skip" != "x" ; then
+ verbose "$tid: $errtag (skipped: $skip)"
+ return
+ fi
verbose "$tid: $errtag"
printf "ls -l %s" "${target}" | \
${SFTP} -b - -D ${SFTPSERVER} 2>/dev/null | \
@@ -44,8 +51,8 @@ SPACE="${DIR}/g-q space"
rm -rf ${BASE}
mkdir -p ${DIR}
-touch "${DATA}" "${GLOB1}" "${GLOB2}" "${QUOTE}"
-touch "${QSLASH}" "${ESLASH}" "${SLASH}" "${SPACE}"
+touch "${DATA}" "${GLOB1}" "${GLOB2}" "${QUOTE}" "${SPACE}"
+test "x$nobs" = "x" && touch "${QSLASH}" "${ESLASH}" "${SLASH}"
# target message expected unexpected
sftp_ls "${DIR}/fil*" "file glob" "${DATA}" ""
@@ -55,14 +62,14 @@ sftp_ls "${DIR}/g-wild\*" "escaped glob" "g-wild*" "g-wildx"
sftp_ls "${DIR}/g-quote\\\"" "escaped quote" "g-quote\"" ""
sftp_ls "\"${DIR}/g-quote\\\"\"" "quoted quote" "g-quote\"" ""
sftp_ls "'${DIR}/g-quote\"'" "single-quoted quote" "g-quote\"" ""
-sftp_ls "${DIR}/g-sl\\\\ash" "escaped slash" "g-sl\\ash" ""
-sftp_ls "'${DIR}/g-sl\\\\ash'" "quoted slash" "g-sl\\ash" ""
-sftp_ls "${DIR}/g-slash\\\\" "escaped slash at EOL" "g-slash\\" ""
-sftp_ls "'${DIR}/g-slash\\\\'" "quoted slash at EOL" "g-slash\\" ""
-sftp_ls "${DIR}/g-qs\\\\\\\"" "escaped slash+quote" "g-qs\\\"" ""
-sftp_ls "'${DIR}/g-qs\\\\\"'" "quoted slash+quote" "g-qs\\\"" ""
sftp_ls "${DIR}/g-q\\ space" "escaped space" "g-q space" ""
sftp_ls "'${DIR}/g-q space'" "quoted space" "g-q space" ""
+sftp_ls "${DIR}/g-sl\\\\ash" "escaped slash" "g-sl\\ash" "" "$nobs"
+sftp_ls "'${DIR}/g-sl\\\\ash'" "quoted slash" "g-sl\\ash" "" "$nobs"
+sftp_ls "${DIR}/g-slash\\\\" "escaped slash at EOL" "g-slash\\" "" "$nobs"
+sftp_ls "'${DIR}/g-slash\\\\'" "quoted slash at EOL" "g-slash\\" "" "$nobs"
+sftp_ls "${DIR}/g-qs\\\\\\\"" "escaped slash+quote" "g-qs\\\"" "" "$nobs"
+sftp_ls "'${DIR}/g-qs\\\\\"'" "quoted slash+quote" "g-qs\\\"" "" "$nobs"
rm -rf ${BASE}