mirror of
https://github.com/oh-my-fish/oh-my-fish.git
synced 2024-11-29 20:13:43 +08:00
Merge pull request #310 from bucaran/stop-test-continue-suite
This commit is contained in:
commit
9d889f509b
|
@ -15,6 +15,7 @@ if not contains $fish_path/functions/ $fish_function_path
|
||||||
set fish_function_path $fish_path/functions/ $fish_function_path
|
set fish_function_path $fish_path/functions/ $fish_function_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# Add imported plugins, completions and themes. Customize imported
|
# Add imported plugins, completions and themes. Customize imported
|
||||||
# commands via the $fish_path/custom directory, for example create
|
# commands via the $fish_path/custom directory, for example create
|
||||||
# a directory under $fish_path/custom/themes with the same name as
|
# a directory under $fish_path/custom/themes with the same name as
|
||||||
|
|
|
@ -21,6 +21,12 @@
|
||||||
# spec.run
|
# spec.run
|
||||||
#/
|
#/
|
||||||
function expect
|
function expect
|
||||||
|
# Abort if last call to `expect` finished with $status 1. This allows to
|
||||||
|
# stop individual tests from running if at least one expect call fails.
|
||||||
|
if [ $status -eq 1 ]
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
set -l expected $argv[1..-3]
|
set -l expected $argv[1..-3]
|
||||||
set -l condition $argv[-2]
|
set -l condition $argv[-2]
|
||||||
set -l actual $argv[-1]
|
set -l actual $argv[-1]
|
||||||
|
|
|
@ -81,6 +81,7 @@ function spec.eval -d "Eval a function by name and echo its description field."
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
set -l result 0
|
||||||
for test in $tests
|
for test in $tests
|
||||||
if [ -z "$silent" ]
|
if [ -z "$silent" ]
|
||||||
set -l info (spec.get.info $tests)
|
set -l info (spec.get.info $tests)
|
||||||
|
@ -91,6 +92,7 @@ function spec.eval -d "Eval a function by name and echo its description field."
|
||||||
spec.log --message $default_color "$info"
|
spec.log --message $default_color "$info"
|
||||||
end
|
end
|
||||||
eval $test
|
eval $test
|
||||||
or return 1
|
or set result 1
|
||||||
end
|
end
|
||||||
|
return $result
|
||||||
end
|
end
|
||||||
|
|
|
@ -47,17 +47,14 @@ function spec.run
|
||||||
spec.eval before_all $output
|
spec.eval before_all $output
|
||||||
for test in (spec.functions "it_")
|
for test in (spec.functions "it_")
|
||||||
spec.eval before_each $output
|
spec.eval before_each $output
|
||||||
# Stop test execution if an expectation fails.
|
|
||||||
|
# Flunk test if any single test fails, but do not stop the suite.
|
||||||
if not spec.eval $test --unit --depth 1 $output
|
if not spec.eval $test --unit --depth 1 $output
|
||||||
set result 1 # Flunk
|
set result 1
|
||||||
end
|
end
|
||||||
|
|
||||||
# Make sure to run after_each if test fails.
|
# Make sure to run after_each even if a test fails.
|
||||||
spec.eval after_each $output
|
spec.eval after_each $output
|
||||||
if [ $result -eq 1 ]
|
|
||||||
# We can safely exit the loop if test fails.
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
spec.eval after_all $output
|
spec.eval after_all $output
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ function describe_oh_my_fish -d "Oh-My-Fish test spec..."
|
||||||
set -g fish_plugins bak z
|
set -g fish_plugins bak z
|
||||||
load_oh_my_fish
|
load_oh_my_fish
|
||||||
expect $fish_function_path --to-contain $fish_path/plugins/bak
|
expect $fish_function_path --to-contain $fish_path/plugins/bak
|
||||||
and expect $fish_function_path --to-contain $fish_path/plugins/z
|
expect $fish_function_path --to-contain $fish_path/plugins/z
|
||||||
end
|
end
|
||||||
|
|
||||||
function it_loads_the_selected_theme \
|
function it_loads_the_selected_theme \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user