tests: make removeemptydirs more portable stable
authorPierre-Yves David <pierre-yves.david@octobus.net>
Fri, 17 Sep 2021 21:04:21 +0200
branchstable
changeset 47880 1941064d3713
parent 47879 b84fe613de33
child 47881 58fe6d127a01
child 48028 b642a6298ce0
tests: make removeemptydirs more portable The behavior of pwd change from one system (i.e. default shell/sh) from one system to another so we use fuzzy matching for the output we do not care and we use narrower command call to highlight what we are trying to test here. Differential Revision: https://phab.mercurial-scm.org/D11449
tests/test-removeemptydirs.t
--- a/tests/test-removeemptydirs.t	Fri Sep 17 21:04:17 2021 +0200
+++ b/tests/test-removeemptydirs.t	Fri Sep 17 21:04:21 2021 +0200
@@ -1,5 +1,13 @@
 Tests for experimental.removeemptydirs
 
+  $ cat >> pwd.py << EOF
+  > import os
+  > try:
+  >     print(os.getcwd())
+  > except OSError:
+  >     print("<directory is no longer accessible>")
+  > EOF
+
   $ NO_RM=--config=experimental.removeemptydirs=0
   $ DO_RM=--config=experimental.removeemptydirs=1
   $ isdir() { if [ -d $1 ]; then echo yes; else echo no; fi }
@@ -132,8 +140,15 @@
   r1
   r2
   somedir
-  $ pwd
+#if windows
+  $ "$PYTHON" "$TESTTMP/pwd.py"
   $TESTTMP/hghistedit/somedir
+#else
+  $ echo ${PWD} # no-pwd-check
+  $TESTTMP/hghistedit/somedir
+  $ "$PYTHON" "$TESTTMP/pwd.py"
+  <directory is no longer accessible>
+#endif
   $ ls -1 $TESTTMP/hghistedit/somedir
   foo
   $ ls -1
@@ -142,6 +157,7 @@
 Get out of the doomed directory
 
   $ cd $TESTTMP/hghistedit
+  chdir: error retrieving current directory: getcwd: cannot access parent directories: $ENOENT$ (?)
   $ hg files --rev . | grep somedir/
   somedir/foo