[PATCH] D54328: Added 'cd -' built in to lit

Jason Mittertreiner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 9 14:55:20 PST 2018


jmittert updated this revision to Diff 173450.
jmittert added a comment.

Added a test for cd -


Repository:
  rL LLVM

https://reviews.llvm.org/D54328

Files:
  utils/lit/lit/TestRunner.py
  utils/lit/tests/Inputs/shtest-shell/cd.txt
  utils/lit/tests/shtest-shell.py


Index: utils/lit/tests/shtest-shell.py
===================================================================
--- utils/lit/tests/shtest-shell.py
+++ utils/lit/tests/shtest-shell.py
@@ -26,6 +26,8 @@
 # CHECK: error: command failed with exit status: 1
 # CHECK: ***
 
+# CHECK: PASS: shtest-shell :: cd.txt
+
 # CHECK: FAIL: shtest-shell :: colon-error.txt
 # CHECK: *** TEST 'shtest-shell :: colon-error.txt' FAILED ***
 # CHECK: $ ":"
Index: utils/lit/tests/Inputs/shtest-shell/cd.txt
===================================================================
--- /dev/null
+++ utils/lit/tests/Inputs/shtest-shell/cd.txt
@@ -0,0 +1,21 @@
+# Check cd and cd -
+#
+# RUN: mkdir -p %t/foo
+# RUN: mkdir -p %t/bar
+# RUN: mkdir -p %t/baz
+# RUN: cd %t/foo
+# RUN: pwd | FileCheck --check-prefix=FOO_PATH %s
+# RUN: cd %t/bar
+# RUN: pwd | FileCheck --check-prefix=BAR_PATH %s
+# RUN: cd -
+# RUN: pwd | FileCheck --check-prefix=FOO_PATH %s
+# RUN: cd -
+# RUN: pwd | FileCheck --check-prefix=BAR_PATH %s
+# RUN: cd %t/baz
+# RUN: pwd | FileCheck --check-prefix=BAZ_PATH %s
+# RUN: cd -
+# RUN: pwd | FileCheck --check-prefix=BAR_PATH %s
+
+# FOO_PATH: foo
+# BAR_PATH: bar
+# BAZ_PATH: baz
Index: utils/lit/lit/TestRunner.py
===================================================================
--- utils/lit/lit/TestRunner.py
+++ utils/lit/lit/TestRunner.py
@@ -60,6 +60,7 @@
 
     def __init__(self, cwd, env):
         self.cwd = cwd
+        self.prevCwd = cwd
         self.env = dict(env)
 
 class TimeoutHelper(object):
@@ -749,6 +750,10 @@
             raise ValueError("'cd' supports only one argument")
         newdir = cmd.commands[0].args[1]
         # Update the cwd in the parent environment.
+        if newdir == '-':
+            shenv.prevCwd,shenv.cwd = shenv.cwd,shenv.prevCwd
+            return 0
+        shenv.prevCwd = shenv.cwd
         if os.path.isabs(newdir):
             shenv.cwd = newdir
         else:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54328.173450.patch
Type: text/x-patch
Size: 1924 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181109/c8314273/attachment.bin>


More information about the llvm-commits mailing list