mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-01 06:53:39 +08:00
a3eea4325e
sigint2 would hang (probably because of different semantics in signal delivery?) wcstod isn't implemented correctly, so math can't do hex numbers. OpenBSD only passes the filename as argv[0] and doesn't give us another feature I know of, so status fish-path can't work.
59 lines
1.2 KiB
Fish
59 lines
1.2 KiB
Fish
#RUN: env FISH_PATH=%fish FILE_PATH=%s %fish %s
|
|
|
|
status line-number
|
|
# CHECK: 3
|
|
|
|
# Check status fish-path
|
|
# No output expected on success
|
|
#
|
|
# argv[0] on OpenBSD is just the filename, not the path
|
|
# That means fish-path is unsupportable there.
|
|
if not contains (uname) OpenBSD
|
|
set status_fish_path (realpath (status fish-path))
|
|
set env_fish_path (realpath $FISH_PATH)
|
|
test "$status_fish_path" = "$env_fish_path"
|
|
or echo "Fish path disagreement: $status_fish_path vs $env_fish_path"
|
|
end
|
|
|
|
# Check is-block
|
|
status is-block
|
|
echo $status
|
|
begin
|
|
status is-block
|
|
echo $status
|
|
end
|
|
# CHECK: 1
|
|
# CHECK: 0
|
|
|
|
# Check filename
|
|
set status_filename (status filename)
|
|
test (status filename) = "$FILE_PATH"
|
|
or echo "File path disagreement: $status_filename vs $FILE_PATH"
|
|
|
|
function print_my_name
|
|
status function
|
|
end
|
|
print_my_name
|
|
# CHECK: print_my_name
|
|
|
|
status is-command-substitution
|
|
echo $status
|
|
echo (status is-command-substitution; echo $status)
|
|
# CHECK: 1
|
|
# CHECK: 0
|
|
|
|
test (status filename) = (status dirname)/(status basename)
|
|
|
|
status basename
|
|
#CHECK: status-command.fish
|
|
|
|
status dirname | string match -q '*checks'
|
|
echo $status
|
|
#CHECK: 0
|
|
|
|
echo "status dirname" | source
|
|
#CHECK: .
|
|
|
|
$FISH_PATH -c 'status dirname'
|
|
#CHECK: Standard input
|