Results for builtin-cd.test.sh

statusdashbashmkshzshosh
pass 2226182323
ok 10400
BUG 30430
FAIL 00003
total2626262626
casedashbashmkshzshoshdescription
0pass pass pass pass pass cd and $PWD
1BUG pass BUG pass FAIL cd BAD/..
detailsdetailsdetails
2BUG pass pass pass pass cd with 2 or more args
details
3BUG pass ok BUG pass cd - without OLDPWD
detailsdetailsdetails
4pass pass BUG BUG pass $OLDPWD
detailsdetails
5pass pass pass pass pass pwd
6pass pass pass pass pass pwd after cd ..
7pass pass pass pass pass pwd with symlink and -P
8pass pass pass pass pass setting $PWD doesn't affect the value of 'pwd' builtin
9pass pass pass pass pass unset PWD; then pwd
10pass pass pass pass pass 'unset PWD; pwd' before any cd (tickles a rare corner case)
11pass pass pass pass pass lie about PWD; pwd before any cd
12pass pass ok pass pass remove pwd dir
details
13pass pass ok pass pass pwd in symlinked dir on shell initialization
details
14pass pass pass pass pass Test the current directory after 'cd ..' involving symlinks
15pass pass pass pass pass cd with no arguments
16ok pass ok pass pass cd to nonexistent dir
detailsdetails
17pass pass pass pass pass cd away from dir that was deleted
18pass pass pass pass pass cd permits double bare dash
19pass pass pass pass pass cd to symlink with -L and -P
20pass pass pass pass pass cd to relative path with -L and -P
21pass pass pass pass pass unset PWD; cd /tmp is allowed (regression)
22pass pass pass BUG FAIL CDPATH is respected
detailsdetails
23pass pass pass pass pass Change directory in non-shell parent process (make or Python)
24pass pass BUG pass pass What happens when inherited $PWD and current dir disagree?
details
25pass pass BUG pass FAIL Survey of getcwd() syscall
detailsdetails
112 passed, 5 OK, 0 not implemented, 10 BUG, 3 failed, 0 timeouts, 0 cases skipped
3 failed under osh

Details on runs that didn't PASS

dash1 cd BAD/..

stdout:
status=0
stderr:
mksh1 cd BAD/..

stdout:
status=0
stderr:
osh1 cd BAD/..

[osh stdout] Expected 'status=1\n', got 'status=0\n'

stdout:
status=0
stderr:
dash2 cd with 2 or more args

stdout:
status=0
status=0
stderr:
dash3 cd - without OLDPWD

stdout:
status=0
stderr:
mksh3 cd - without OLDPWD

stdout:
status=2
stderr:
mksh: <stdin>[1]: cd: no OLDPWD
zsh3 cd - without OLDPWD

stdout:
status=0
stderr:
mksh4 $OLDPWD

stdout:
old: /
/
stderr:
zsh4 $OLDPWD

stdout:
old: /
OLDPWD=/
stderr:
mksh12 remove pwd dir

stdout:
/tmp/oil-spec-test/pwd
status=0
status=1
stderr:
mksh: <stdin>[7]: pwd: can't determine current directory: No such file or directory
mksh13 pwd in symlinked dir on shell initialization

stdout:
target
target
stderr:
dash16 cd to nonexistent dir

stdout:
status=2
stderr:
dash: 1: cd: can't cd to /nonexistent/dir
mksh16 cd to nonexistent dir

stdout:
status=2
stderr:
mksh: <stdin>[1]: cd: /nonexistent/dir: No such file or directory
zsh22 CDPATH is respected

stdout:
status=0
/tmp/spam/foo
stderr:
osh22 CDPATH is respected

[osh stdout] Expected '/tmp/spam/foo\nstatus=0\n/tmp/spam/foo\n', got 'status=1\n/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh/22-osh\n'

stdout:
status=1
/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh/22-osh
stderr:
  cd foo
     ^~~
[ stdin ]:5: cd '/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh/22-osh/foo': No such file or directory
mksh24 What happens when inherited $PWD and current dir disagree?

stdout:
Python PWD = None
PWD = /tmp/osh-spec-cd/cpan/Encode
/tmp/osh-spec-cd/cpan/Encode
cd=0
PWD = /tmp/osh-spec-cd/cpan/Encode/Byte
/tmp/osh-spec-cd/cpan/Encode/Byte
stderr:
Python argv = ['mksh', '-c', '\necho "PWD = $PWD"; pwd\ncd Byte; echo cd=$?\necho "PWD = $PWD"; pwd\n']
mksh25 Survey of getcwd() syscall

stdout:
2 err.txt
stderr:
osh25 Survey of getcwd() syscall

[osh stdout] Expected '1 err.txt\n', got '3 err.txt\n'

stdout:
3 err.txt
stderr: