Results for builtin-cd.test.sh

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

Details on runs that didn't PASS

osh1 cd BAD/..

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

stdout:
status=0
stderr:
osh-cpp1 cd BAD/..

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

stdout:
status=0
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.7234/22-osh\n'

stdout:
status=1
/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh.7234/22-osh
stderr:
  cd foo
     ^~~
[ stdin ]:5: cd '/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh.7234/22-osh/foo': No such file or directory
osh-cpp22 CDPATH is respected

[osh-cpp 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.7234/22-osh-cpp\n'

stdout:
status=1
/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh.7234/22-osh-cpp
stderr:
  cd foo
     ^~~
[ stdin ]:5: cd '/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh.7234/22-osh-cpp/foo': No such file or directory
osh-cpp23 Change directory in non-shell parent process (make or Python)

[osh-cpp stdout] Expected '/cpan/Encode/Byte\n', got '\n'

stdout:
stderr: 
Python PWD = '/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh.7234/23-osh-cpp'
Python argv = ['/home/uke/oil/_bin/cxx-asan/osh', '-c', 'cd Byte; pwd']
  cd Byte; pwd
     ^~~~
[ -c flag ]:1: cd '/home/uke/oil/_tmp/spec-tmp/builtin-cd.test.sh.7234/23-osh-cpp/Byte': No such file or directory
osh-cpp24 What happens when inherited $PWD and current dir disagree?

[osh-cpp stdout] Expected "Python PWD = '/tmp/osh-spec-cd'\nPWD = /tmp/osh-spec-cd/cpan/Encode\n/tmp/osh-spec-cd/cpan/Encode\ncd=0\nPWD = /tmp/osh-spec-cd/cpan/Encode/Byte\n/tmp/osh-spec-cd/cpan/Encode/Byte\n" Got "Python PWD = '/tmp/osh-spec-cd'\nPWD = /tmp/osh-spec-cd\n/tmp/osh-spec-cd\ncd=1\nPWD = /tmp/osh-spec-cd\n/tmp/osh-spec-cd\n"

stdout:
Python PWD = '/tmp/osh-spec-cd'
PWD = /tmp/osh-spec-cd
/tmp/osh-spec-cd
cd=1
PWD = /tmp/osh-spec-cd
/tmp/osh-spec-cd
stderr:
Python argv = ['/home/uke/oil/_bin/cxx-asan/osh', '-c', '\necho "PWD = $PWD"; pwd\ncd Byte; echo cd=$?\necho "PWD = $PWD"; pwd\n']
  cd Byte; echo cd=$?
     ^~~~
[ -c flag ]:3: cd '/tmp/osh-spec-cd/Byte': No such file or directory
osh25 getcwd() syscall is not made

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

stdout:
3 err.txt
stderr:
osh-cpp25 getcwd() syscall is not made

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

stdout:
3 err.txt
stderr: