diff --git a/shell/ash_test/ash-misc/exitcode_trap2.right b/shell/ash_test/ash-misc/exitcode_trap2.right new file mode 100644 index 000000000..6644d86bf --- /dev/null +++ b/shell/ash_test/ash-misc/exitcode_trap2.right @@ -0,0 +1 @@ +42:42 diff --git a/shell/ash_test/ash-misc/exitcode_trap2.tests b/shell/ash_test/ash-misc/exitcode_trap2.tests new file mode 100755 index 000000000..f259774bf --- /dev/null +++ b/shell/ash_test/ash-misc/exitcode_trap2.tests @@ -0,0 +1,9 @@ +# "exit" in trap should not use last command's exitcode, +# but exitcode on entering the trap. +$THIS_SH -c ' + trap "false;exit" term + kill $$ & + (exit 42) + wait +' +echo 42:$? diff --git a/shell/hush_test/hush-misc/exitcode_trap2.right b/shell/hush_test/hush-misc/exitcode_trap2.right new file mode 100644 index 000000000..6644d86bf --- /dev/null +++ b/shell/hush_test/hush-misc/exitcode_trap2.right @@ -0,0 +1 @@ +42:42 diff --git a/shell/hush_test/hush-misc/exitcode_trap2.tests b/shell/hush_test/hush-misc/exitcode_trap2.tests new file mode 100755 index 000000000..f259774bf --- /dev/null +++ b/shell/hush_test/hush-misc/exitcode_trap2.tests @@ -0,0 +1,9 @@ +# "exit" in trap should not use last command's exitcode, +# but exitcode on entering the trap. +$THIS_SH -c ' + trap "false;exit" term + kill $$ & + (exit 42) + wait +' +echo 42:$?