mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-12-22 12:47:54 +00:00
parallel: Fixed bug #63263: Joblog does not have the same exit code as bash.
This commit is contained in:
parent
c444cfc333
commit
24d23541c2
8
NEWS
8
NEWS
|
@ -6,7 +6,7 @@ New in this release:
|
|||
|
||||
* Use --total-jobs for --eta/--bar if generating jobs is slow.
|
||||
|
||||
* A lot of bug fixed in --latest-line.
|
||||
* A lot of bugs fixed in --latest-line.
|
||||
|
||||
* Better support for MSYS2.
|
||||
|
||||
|
@ -14,10 +14,12 @@ New in this release:
|
|||
|
||||
* --bar supports UTF8.
|
||||
|
||||
* GNU Parallel is now on Mastodon: @GNU_Parallel@hostux.social
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
|
||||
News about GNU Parallel:
|
||||
|
||||
* GNU Parallel is now on Mastodon: @GNU_Parallel@hostux.social
|
||||
|
||||
|
||||
20221022
|
||||
|
||||
|
|
|
@ -4,6 +4,9 @@
|
|||
|
||||
Quote of the month:
|
||||
|
||||
GNU Parallel absolutely rocks.
|
||||
-- Austin Mordahl@Stackoverflow
|
||||
|
||||
Got around to using GNU parallel for the first time from a suggestion by @jdwasmuth ... now I'm wishing I started using this years ago
|
||||
-- Stefan Gavriliuc @GavriliucStefan@twitter
|
||||
|
||||
|
|
|
@ -261,32 +261,24 @@ from:tange@gnu.org
|
|||
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||
|
||||
Subject: GNU Parallel 20221122 ('Херсо́н') released
|
||||
Subject: GNU Parallel 20221222 ('ChatGPT/Mauneloa/#A4Revolution/#A4革命/#MahsaAmini') released
|
||||
|
||||
GNU Parallel 20221122 ('Херсо́н') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||
GNU Parallel 20221222 ('') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||
|
||||
Quote of the month:
|
||||
|
||||
[GNU Parallel] is the most amazing tool ever invented for bioinformatics!
|
||||
-- Istvan Albert https://www.ialbert.me/
|
||||
<<>>
|
||||
|
||||
New in this release:
|
||||
|
||||
* Support for IPv6 adresses and _ in hostnames in --sshlogin.
|
||||
* --results works on more file systems (e.g. fat)
|
||||
|
||||
* Use --total-jobs for --eta/--bar if generating jobs is slow.
|
||||
* <<>>
|
||||
|
||||
* A lot of bug fixed in --latest-line.
|
||||
News about GNU Parallel:
|
||||
|
||||
* Better support MSYS2.
|
||||
|
||||
* Better Text::CSV error messages.
|
||||
|
||||
* --bar supports UTF8.
|
||||
|
||||
* GNU Parallel is now on Mastodon: @GNU_Parallel@hostux.social
|
||||
|
||||
* Bug fixes and man page updates.
|
||||
https://www.youtube.com/watch?v=duheTWLIrp8
|
||||
https://talkpython.fm/episodes/show/392/data-science-from-the-command-line
|
||||
|
||||
|
||||
GNU Parallel - For people who live life in the parallel lane.
|
||||
|
|
|
@ -104,9 +104,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
|
@ -90,9 +90,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
|
@ -104,9 +104,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
|
@ -87,9 +87,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
|
@ -89,9 +89,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
|
@ -104,9 +104,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
|
@ -79,9 +79,7 @@ env_parallel() {
|
|||
_ignore_RO="`_ignore_READONLY`"
|
||||
# shellcheck disable=SC2006
|
||||
_ignore_HARD="`_ignore_HARDCODED`"
|
||||
# Macos-grep does not like long patterns
|
||||
# Old Solaris grep does not support -E
|
||||
# Perl Version of:
|
||||
# To avoid depending on grep dialect, use Perl version of:
|
||||
# grep -Ev '^(...)$' |
|
||||
perl -ne '/^(
|
||||
PARALLEL_ENV|
|
||||
|
|
10
src/parallel
10
src/parallel
|
@ -5425,8 +5425,16 @@ sub reaper() {
|
|||
$job->set_exitstatus(-2);
|
||||
$job->set_exitsignal(0);
|
||||
} else {
|
||||
$job->set_exitstatus($? >> 8);
|
||||
$job->set_exitsignal($? & 127);
|
||||
if($job->exitstatus()) {
|
||||
# Exit status already set - probably by --timeout
|
||||
} elsif($? & 127) {
|
||||
# Killed by signal. Many shells return: 128 | $signal
|
||||
$job->set_exitstatus(128 | $?);
|
||||
} else {
|
||||
# Normal exit
|
||||
$job->set_exitstatus($? >> 8);
|
||||
}
|
||||
}
|
||||
|
||||
debug("run", "\nseq ",$job->seq()," died (", $job->exitstatus(), ")");
|
||||
|
|
|
@ -8,6 +8,45 @@
|
|||
# Each should be taking 10-30s and be possible to run in parallel
|
||||
# I.e.: No race conditions, no logins
|
||||
|
||||
par_quote_special_results() {
|
||||
doit() {
|
||||
mkfs=$1
|
||||
img=$(mktemp /dev/shm/par-test-loop-XXXX.img)
|
||||
dir=$(mktemp -d /tmp/par-test-loop-XXXX)
|
||||
dd if=/dev/zero bs=1000k count=150 > $img
|
||||
# Use the mkfs.$filesystem
|
||||
$mkfs $img
|
||||
sudo mount $img $dir -oloop,uid=`id -u` 2>/dev/null ||
|
||||
sudo mount $img $dir -oloop
|
||||
cd $dir
|
||||
sudo chown `id -u` .
|
||||
df $dir
|
||||
printf "%s\0" '' +m . +_ .. +__ ,. ,.. + ++ / +z |
|
||||
parallel -0 --results a echo
|
||||
find a | sort
|
||||
seq 128 | perl -ne 'printf "%c\0",$_' |
|
||||
parallel -0 --results b128 echo
|
||||
find b128 | sort
|
||||
seq 128 255 | perl -ne 'printf "%c\0",$_' |
|
||||
parallel -0 --results b255 echo
|
||||
find b255 | sort
|
||||
cd
|
||||
sudo umount $dir
|
||||
rm -r $dir/
|
||||
rm $img
|
||||
}
|
||||
export -f doit
|
||||
stdout parallel -k --tag --plus doit ::: \
|
||||
mkfs.btrfs mkfs.exfat mkfs.ext2 mkfs.ext3 mkfs.ext4 \
|
||||
"mkfs.reiserfs -fq" "mkfs.ntfs -F" "mkfs.xfs -f" mkfs.minix \
|
||||
mkfs.fat mkfs.vfat mkfs.msdos mkfs.f2fs |
|
||||
perl -pe 's:(/dev/loop|par-test-loop)\S+:$1:g;s/ +/ /g' |
|
||||
G -v MB/s -v UUID -v Binutils
|
||||
# Skip:
|
||||
# mkfs.bfs - ro
|
||||
# mkfs.cramfs - ro
|
||||
}
|
||||
|
||||
par_totaljobs() {
|
||||
. `which env_parallel.bash`
|
||||
myrun() {
|
||||
|
|
|
@ -14,6 +14,65 @@ export TMP5G
|
|||
|
||||
rm -f /tmp/*.{tmx,pac,arg,all,log,swp,loa,ssh,df,pip,tmb,chr,tms,par}
|
||||
|
||||
par_compare_exit_codes() {
|
||||
echo '### compare the exit codes'
|
||||
echo 'directly from shells, shells called from parallel,'
|
||||
echo 'killed with different signals'
|
||||
echo
|
||||
echo sig=joblog_sig shell=parallel=joblog
|
||||
|
||||
selfkill=$(mktemp)
|
||||
export selfkill
|
||||
echo 'kill -$1 $$' >$selfkill
|
||||
exit=$(mktemp)
|
||||
export exit
|
||||
echo 'exit $1' >$exit
|
||||
|
||||
doit() {
|
||||
shell=$1
|
||||
sig=$2
|
||||
sig128=$(( sig + 128 ))
|
||||
sh -c "$shell $selfkill $sig" 2>/dev/null
|
||||
raw=$?
|
||||
sh -c "$shell $exit $sig128" 2>/dev/null
|
||||
raw128=$?
|
||||
|
||||
log=$(mktemp)
|
||||
$shell -c "parallel --halt now,done=1 --jl $log $shell $selfkill ::: $sig" 2>/dev/null
|
||||
#echo parallel $shell $sig = $?
|
||||
parallel=$?
|
||||
joblog_exit=$(field 7 < $log | tail -n1)
|
||||
joblog_signal=$(field 8 < $log | tail -n1)
|
||||
$shell -c "parallel --halt now,done=1 --jl $log $shell $exit ::: $sig128" 2>/dev/null
|
||||
parallel128=$?
|
||||
joblog_exit128=$(field 7 < $log | tail -n1)
|
||||
joblog_signal128=$(field 8 < $log | tail -n1)
|
||||
|
||||
#echo joblog p $shell $sig $(field 8,7 < $log | tail -n1)
|
||||
rm $log
|
||||
|
||||
echo $shell sig' ' $sig=$joblog_signal $raw=$parallel=$joblog_exit
|
||||
echo $shell exit $sig128=$joblog_signal128 $raw128=$parallel128=$joblog_exit128
|
||||
}
|
||||
export -f doit
|
||||
|
||||
# These give the same exit code prepended with 'true;' or not
|
||||
OK="ash csh dash fish fizsh posh rc sash sh tcsh"
|
||||
# These do not give the same exit code prepended with 'true;' or not
|
||||
BAD="bash ksh93 mksh static-sh yash zsh"
|
||||
|
||||
(
|
||||
# Most block on signals: 19+20+21+22
|
||||
ulimit -n `ulimit -Hn`
|
||||
parallel -j1000% -k doit ::: $OK $BAD ::: {1..18} {23..64}
|
||||
# fdsh blocks on a lot more signals
|
||||
parallel -j1000% -k doit ::: fdsh ::: 2 {9..12} {14..18} {20..23} 26 27 29 30 {32..64}
|
||||
) |
|
||||
# Ignore where the exit codes are the same
|
||||
perl -ne '/(\d+)=\1=\1/ or print'
|
||||
rm $selfkill
|
||||
}
|
||||
|
||||
par_retries_unreachable() {
|
||||
echo '### Test of --retries on unreachable host'
|
||||
seq 2 | stdout parallel -k --retries 2 -v -S 4.3.2.1,: echo
|
||||
|
|
|
@ -6,6 +6,16 @@
|
|||
|
||||
# These fail regularly
|
||||
|
||||
par_ll_tag() {
|
||||
(
|
||||
parallel --tag --ll -q printf "a\n{}\n" ::: should-be-tagged
|
||||
parallel --tag --ll -q printf "a\n\r{}\n" ::: should-be-tagged
|
||||
parallel --color --tag --ll true ::: A
|
||||
parallel --color --tag --ll 'echo;true {}' ::: B
|
||||
parallel --color --tag --ll 'echo {};true {}' ::: C
|
||||
) | puniq
|
||||
}
|
||||
|
||||
par_ll_lb_color() {
|
||||
echo 'bug #62386: --color (--ctag but without --tag)'
|
||||
echo 'bug #62438: See last line from multiple jobslots'
|
||||
|
|
|
@ -78,8 +78,9 @@ par_many_var() {
|
|||
export -f pecho
|
||||
gen() { seq -f %f 1000000000000000 1000000000050000 | head -c $1; }
|
||||
for a in `seq 6000`; do eval "export a$a=1" ; done
|
||||
gen 40000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc' |
|
||||
perl -pe 's/\d{10,}.\d+ //g'
|
||||
gen 40000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc -c' |
|
||||
perl -pe 's/\d{10,}.\d+ //g; s/(\d+)\d\d\d/${1}XXX/g;' |
|
||||
grep 22XXX
|
||||
}
|
||||
|
||||
par_many_var_func() {
|
||||
|
@ -131,7 +132,8 @@ par_many_var_big_func() {
|
|||
for a in `seq 10`; do eval "a$a() { '$big'; }" ; done
|
||||
for a in `seq 10`; do eval export -f a$a ; done
|
||||
gen 40000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc -c' |
|
||||
perl -pe 's/\d{10,}.\d+ //g'
|
||||
perl -pe 's/\d{10,}.\d+ //g; s/(\d+)\d\d\d/${1}XXX/g;' |
|
||||
grep 5XXX
|
||||
}
|
||||
|
||||
par_big_func_name() {
|
||||
|
@ -143,7 +145,8 @@ par_big_func_name() {
|
|||
big=`perl -e print\"x\"x10000`
|
||||
for a in `seq 10`; do eval "export a$big$a=1" ; done
|
||||
gen 30000 | stdout parallel -Xkj1 'pecho {} {} {} {} | wc -c' |
|
||||
perl -pe 's/\d{10,}.\d+ //g'
|
||||
perl -pe 's/\d{10,}.\d+ //g; s/(\d+)\d\d\d/${1}XXX/g;' |
|
||||
grep 18XXX
|
||||
}
|
||||
|
||||
par_big_var_func_name() {
|
||||
|
@ -157,7 +160,8 @@ par_big_var_func_name() {
|
|||
for a in `seq 10`; do eval "a$big$a() { 1; }" ; done
|
||||
for a in `seq 10`; do eval export -f a$big$a ; done
|
||||
gen 80000 | stdout parallel --load 4 -Xkj1 'pecho {} {} {} {} | wc -c' |
|
||||
perl -pe 's/\d{10,}.\d+ //g'
|
||||
perl -pe 's/\d{10,}.\d+ //g; s/(\d+)\d\d\d/${1}XXX/g;' |
|
||||
grep 18XXX
|
||||
}
|
||||
|
||||
macsshlogin=$(parallel --halt now,success=1 ssh {} echo {} ::: ota@mac macosx.p)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -648,23 +648,23 @@ par_result ### Test --results --header : piped
|
|||
par_result parallel: Warning: A NUL character in the input was replaced with \0.
|
||||
par_result parallel: Warning: NUL cannot be passed through in the argument list.
|
||||
par_result parallel: Warning: Did you mean to use the --null option?
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\\0eof
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\\0eof/seq
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\\0eof/stderr
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\\tab/2/slash\_null\\0eof/stdout
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\tab/2
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\tab/2/slash+znull\0eof
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\tab/2/slash+znull\0eof/seq
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\tab/2/slash+znull\0eof/stderr
|
||||
par_result /tmp/parallel_results_test/testF/Col/backslash\tab/2/slash+znull\0eof/stdout
|
||||
par_result ### Test --results --header : piped - non-existing column header
|
||||
par_result parallel: Warning: A NUL character in the input was replaced with \0.
|
||||
par_result parallel: Warning: NUL cannot be passed through in the argument list.
|
||||
par_result parallel: Warning: Did you mean to use the --null option?
|
||||
par_result /tmp/parallel_results_test/testG/
|
||||
par_result /tmp/parallel_results_test/testG/Col1
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\\0eof
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\\0eof/seq
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\\0eof/stderr
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\\tab/2/slash\_null\\0eof/stdout
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\tab
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\tab/2
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\tab/2/slash+znull\0eof
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\tab/2/slash+znull\0eof/seq
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\tab/2/slash+znull\0eof/stderr
|
||||
par_result /tmp/parallel_results_test/testG/Col1/backslash\tab/2/slash+znull\0eof/stdout
|
||||
par_result /tmp/parallel_results_test/testG/Col1/v1
|
||||
par_result /tmp/parallel_results_test/testG/Col1/v1/2
|
||||
par_result /tmp/parallel_results_test/testG/Col1/v1/2/v2
|
||||
|
|
|
@ -1,3 +1,135 @@
|
|||
par_compare_exit_codes ### compare the exit codes
|
||||
par_compare_exit_codes directly from shells, shells called from parallel,
|
||||
par_compare_exit_codes killed with different signals
|
||||
par_compare_exit_codes
|
||||
par_compare_exit_codes sig=joblog_sig shell=parallel=joblog
|
||||
par_compare_exit_codes
par_compare_exit_codes
|
||||
par_compare_exit_codes csh sig 2=0 130=1=1
|
||||
par_compare_exit_codes posh sig 34=11 162=139=139
|
||||
par_compare_exit_codes posh sig 35=11 163=139=139
|
||||
par_compare_exit_codes posh sig 36=11 164=139=139
|
||||
par_compare_exit_codes posh sig 37=11 165=139=139
|
||||
par_compare_exit_codes posh sig 38=11 166=139=139
|
||||
par_compare_exit_codes posh sig 39=11 167=139=139
|
||||
par_compare_exit_codes posh sig 40=11 168=139=139
|
||||
par_compare_exit_codes posh sig 41=11 169=139=139
|
||||
par_compare_exit_codes posh sig 42=11 170=139=139
|
||||
par_compare_exit_codes posh sig 43=11 171=139=139
|
||||
par_compare_exit_codes posh sig 44=11 172=139=139
|
||||
par_compare_exit_codes posh sig 45=11 173=139=139
|
||||
par_compare_exit_codes posh sig 46=11 174=139=139
|
||||
par_compare_exit_codes posh sig 47=11 175=139=139
|
||||
par_compare_exit_codes posh sig 48=11 176=139=139
|
||||
par_compare_exit_codes posh sig 49=11 177=139=139
|
||||
par_compare_exit_codes posh sig 50=11 178=139=139
|
||||
par_compare_exit_codes posh sig 51=11 179=139=139
|
||||
par_compare_exit_codes posh sig 52=11 180=139=139
|
||||
par_compare_exit_codes posh sig 53=11 181=139=139
|
||||
par_compare_exit_codes posh sig 54=11 182=139=139
|
||||
par_compare_exit_codes posh sig 55=11 183=139=139
|
||||
par_compare_exit_codes posh sig 56=11 184=139=139
|
||||
par_compare_exit_codes posh sig 57=11 185=139=139
|
||||
par_compare_exit_codes posh sig 58=11 186=139=139
|
||||
par_compare_exit_codes posh sig 59=11 187=139=139
|
||||
par_compare_exit_codes posh sig 60=11 188=139=139
|
||||
par_compare_exit_codes posh sig 61=11 189=139=139
|
||||
par_compare_exit_codes posh sig 62=11 190=139=139
|
||||
par_compare_exit_codes posh sig 63=11 191=139=139
|
||||
par_compare_exit_codes posh sig 64=11 192=139=139
|
||||
par_compare_exit_codes
par_compare_exit_codes
|
||||
par_compare_exit_codes tcsh sig 2=0 130=1=1
|
||||
par_compare_exit_codes fdsh sig 2=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 130=0 130=2=2
|
||||
par_compare_exit_codes fdsh sig 9=0 137=2=2
|
||||
par_compare_exit_codes fdsh exit 137=0 137=2=2
|
||||
par_compare_exit_codes fdsh sig 10=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 138=0 138=2=2
|
||||
par_compare_exit_codes fdsh sig 11=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 139=0 139=2=2
|
||||
par_compare_exit_codes fdsh sig 12=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 140=0 140=2=2
|
||||
par_compare_exit_codes fdsh sig 15=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 143=0 143=2=2
|
||||
par_compare_exit_codes fdsh sig 16=0 144=2=2
|
||||
par_compare_exit_codes fdsh exit 144=0 144=2=2
|
||||
par_compare_exit_codes fdsh sig 17=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 145=0 145=2=2
|
||||
par_compare_exit_codes fdsh sig 18=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 146=0 146=2=2
|
||||
par_compare_exit_codes fdsh sig 20=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 148=0 148=2=2
|
||||
par_compare_exit_codes fdsh sig 21=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 149=0 149=2=2
|
||||
par_compare_exit_codes fdsh sig 22=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 150=0 150=2=2
|
||||
par_compare_exit_codes fdsh sig 23=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 151=0 151=2=2
|
||||
par_compare_exit_codes fdsh sig 26=0 154=2=2
|
||||
par_compare_exit_codes fdsh exit 154=0 154=2=2
|
||||
par_compare_exit_codes fdsh sig 27=0 155=2=2
|
||||
par_compare_exit_codes fdsh exit 155=0 155=2=2
|
||||
par_compare_exit_codes fdsh sig 29=0 157=2=2
|
||||
par_compare_exit_codes fdsh exit 157=0 157=2=2
|
||||
par_compare_exit_codes fdsh sig 30=0 158=2=2
|
||||
par_compare_exit_codes fdsh exit 158=0 158=2=2
|
||||
par_compare_exit_codes fdsh sig 32=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 160=0 160=2=2
|
||||
par_compare_exit_codes fdsh sig 33=0 0=2=2
|
||||
par_compare_exit_codes fdsh exit 161=0 161=2=2
|
||||
par_compare_exit_codes fdsh sig 35=0 163=2=2
|
||||
par_compare_exit_codes fdsh exit 163=0 163=2=2
|
||||
par_compare_exit_codes fdsh sig 36=0 164=2=2
|
||||
par_compare_exit_codes fdsh exit 164=0 164=2=2
|
||||
par_compare_exit_codes fdsh sig 37=0 165=2=2
|
||||
par_compare_exit_codes fdsh exit 165=0 165=2=2
|
||||
par_compare_exit_codes fdsh sig 38=0 166=2=2
|
||||
par_compare_exit_codes fdsh exit 166=0 166=2=2
|
||||
par_compare_exit_codes fdsh sig 39=0 167=2=2
|
||||
par_compare_exit_codes fdsh exit 167=0 167=2=2
|
||||
par_compare_exit_codes fdsh sig 40=0 168=2=2
|
||||
par_compare_exit_codes fdsh exit 168=0 168=2=2
|
||||
par_compare_exit_codes fdsh sig 41=0 169=2=2
|
||||
par_compare_exit_codes fdsh exit 169=0 169=2=2
|
||||
par_compare_exit_codes fdsh sig 42=0 170=2=2
|
||||
par_compare_exit_codes fdsh exit 170=0 170=2=2
|
||||
par_compare_exit_codes fdsh sig 43=0 171=2=2
|
||||
par_compare_exit_codes fdsh exit 171=0 171=2=2
|
||||
par_compare_exit_codes fdsh sig 45=0 173=2=2
|
||||
par_compare_exit_codes fdsh exit 173=0 173=2=2
|
||||
par_compare_exit_codes fdsh sig 46=0 174=2=2
|
||||
par_compare_exit_codes fdsh exit 174=0 174=2=2
|
||||
par_compare_exit_codes fdsh sig 47=0 175=2=2
|
||||
par_compare_exit_codes fdsh exit 175=0 175=2=2
|
||||
par_compare_exit_codes fdsh sig 48=0 176=2=2
|
||||
par_compare_exit_codes fdsh exit 176=0 176=2=2
|
||||
par_compare_exit_codes fdsh sig 49=0 177=2=2
|
||||
par_compare_exit_codes fdsh exit 177=0 177=2=2
|
||||
par_compare_exit_codes fdsh sig 50=0 178=2=2
|
||||
par_compare_exit_codes fdsh exit 178=0 178=2=2
|
||||
par_compare_exit_codes fdsh sig 51=0 179=2=2
|
||||
par_compare_exit_codes fdsh exit 179=0 179=2=2
|
||||
par_compare_exit_codes fdsh sig 52=0 180=2=2
|
||||
par_compare_exit_codes fdsh exit 180=0 180=2=2
|
||||
par_compare_exit_codes fdsh sig 53=0 181=2=2
|
||||
par_compare_exit_codes fdsh exit 181=0 181=2=2
|
||||
par_compare_exit_codes fdsh sig 55=0 183=2=2
|
||||
par_compare_exit_codes fdsh exit 183=0 183=2=2
|
||||
par_compare_exit_codes fdsh sig 56=0 184=2=2
|
||||
par_compare_exit_codes fdsh exit 184=0 184=2=2
|
||||
par_compare_exit_codes fdsh sig 57=0 185=2=2
|
||||
par_compare_exit_codes fdsh exit 185=0 185=2=2
|
||||
par_compare_exit_codes fdsh sig 58=0 186=2=2
|
||||
par_compare_exit_codes fdsh exit 186=0 186=2=2
|
||||
par_compare_exit_codes fdsh sig 59=0 187=2=2
|
||||
par_compare_exit_codes fdsh exit 187=0 187=2=2
|
||||
par_compare_exit_codes fdsh sig 60=0 188=2=2
|
||||
par_compare_exit_codes fdsh exit 188=0 188=2=2
|
||||
par_compare_exit_codes fdsh sig 61=0 189=2=2
|
||||
par_compare_exit_codes fdsh exit 189=0 189=2=2
|
||||
par_compare_exit_codes fdsh sig 62=0 190=2=2
|
||||
par_compare_exit_codes fdsh exit 190=0 190=2=2
|
||||
par_compare_exit_codes fdsh sig 63=0 191=2=2
|
||||
par_compare_exit_codes fdsh exit 191=0 191=2=2
|
||||
par_halt_on_error -2 true true 0
|
||||
par_halt_on_error -2 true true 0
|
||||
par_halt_on_error -2 true true parallel: This job succeeded:
|
||||
|
@ -237,7 +369,7 @@ par_test_build_and_install make[0]: Nothing to be done for 'install-exec-am'.
|
|||
par_test_build_and_install make install-data-hook
|
||||
par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000'
|
||||
par_test_build_and_install mkdir -p /tmp/parallel-install/share/zsh/site-functions /tmp/parallel-install/share/bash-completion/completions
|
||||
par_test_build_and_install src/parallel --shell-completion bash > /tmp/parallel-install/share/bash-completion/completions/parallel
|
||||
par_test_build_and_install /tmp/parallel-install/bin/parallel --shell-completion bash > /tmp/parallel-install/share/bash-completion/completions/parallel
|
||||
par_test_build_and_install echo '#compdef parallel' > /tmp/parallel-install/share/zsh/site-functions/_parallel
|
||||
par_test_build_and_install echo '(( $+functions[_comp_parallel] )) ||' >> /tmp/parallel-install/share/zsh/site-functions/_parallel
|
||||
par_test_build_and_install echo ' eval "$(parallel --shell-completion auto)" &&' >> /tmp/parallel-install/share/zsh/site-functions/_parallel
|
||||
|
@ -766,7 +898,7 @@ par_test_build_and_install make[0]: Nothing to be done for 'install-exec-am'.
|
|||
par_test_build_and_install make install-data-hook
|
||||
par_test_build_and_install make[0]: Entering directory '/tmp/parallel-00000000'
|
||||
par_test_build_and_install mkdir -p /tmp/parallel-install/share/zsh/site-functions /tmp/parallel-install/share/bash-completion/completions
|
||||
par_test_build_and_install src/parallel --shell-completion bash > /tmp/parallel-install/share/bash-completion/completions/parallel
|
||||
par_test_build_and_install /tmp/parallel-install/bin/parallel --shell-completion bash > /tmp/parallel-install/share/bash-completion/completions/parallel
|
||||
par_test_build_and_install echo '#compdef parallel' > /tmp/parallel-install/share/zsh/site-functions/_parallel
|
||||
par_test_build_and_install echo '(( $+functions[_comp_parallel] )) ||' >> /tmp/parallel-install/share/zsh/site-functions/_parallel
|
||||
par_test_build_and_install echo ' eval "$(parallel --shell-completion auto)" &&' >> /tmp/parallel-install/share/zsh/site-functions/_parallel
|
||||
|
|
|
@ -120,7 +120,13 @@ par_kill_hup parallel: bash -c 'sleep 3 & pid=$!; wait $pid'
|
|||
par_kill_hup bash---pstree
|
||||
par_ll_lb_color bug #62386: --color (--ctag but without --tag)
|
||||
par_ll_lb_color bug #62438: See last line from multiple jobslots
|
||||
par_ll_lb_color c9a124d7cbd2d04b1201b297ef7cefa1 -
|
||||
par_ll_lb_color 35d02d4d868110dd4f0eaf1c2f26dc36 -
|
||||
par_ll_tag
par_ll_tag should-be-tagged should-be-tagged
|
||||
par_ll_tag [A
par_ll_tag should-be-tagged should-be-tagged
|
||||
par_ll_tag
par_ll_tag B [48;5;134;38;5;231m[K [m
|
||||
par_ll_tag [A
par_ll_tag B [48;5;134;38;5;231m[K [m
|
||||
par_ll_tag
par_ll_tag C [48;5;134;38;5;231m[KC [m
|
||||
par_ll_tag [A
par_ll_tag C [48;5;134;38;5;231m[KC [m
|
||||
par_more_than_9_relative_sshlogin ### Check more than 9(relative) simultaneous sshlogins
|
||||
par_more_than_9_relative_sshlogin 1
|
||||
par_more_than_9_relative_sshlogin 2
|
||||
|
|
|
@ -8,7 +8,6 @@ par_big_func_name 18XXX
|
|||
par_big_func_name 18XXX
|
||||
par_big_func_name 18XXX
|
||||
par_big_func_name 18XXX
|
||||
par_big_func_name 7XXX
|
||||
par_big_var_func_name 18XXX
|
||||
par_big_var_func_name 18XXX
|
||||
par_big_var_func_name 18XXX
|
||||
|
@ -26,7 +25,6 @@ par_big_var_func_name 18XXX
|
|||
par_big_var_func_name 18XXX
|
||||
par_big_var_func_name 18XXX
|
||||
par_big_var_func_name 18XXX
|
||||
par_big_var_func_name 1XXX
|
||||
par_many_args 1 3XXX 6XXX
|
||||
par_many_args 1 3XXX 6XXX
|
||||
par_many_args 1 3XXX 6XXX
|
||||
|
@ -68,14 +66,13 @@ par_many_func 1 200 4XXX
|
|||
par_many_func 1 200 4XXX
|
||||
par_many_func 1 200 4XXX
|
||||
par_many_func 1 68 1XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 948 22XXX
|
||||
par_many_var 1 32 740
|
||||
par_many_var 22XXX
|
||||
par_many_var 22XXX
|
||||
par_many_var 22XXX
|
||||
par_many_var 22XXX
|
||||
par_many_var 22XXX
|
||||
par_many_var 22XXX
|
||||
par_many_var 22XXX
|
||||
par_many_var_big_func 5XXX
|
||||
par_many_var_big_func 5XXX
|
||||
par_many_var_big_func 5XXX
|
||||
|
@ -105,7 +102,6 @@ par_many_var_big_func 5XXX
|
|||
par_many_var_big_func 5XXX
|
||||
par_many_var_big_func 5XXX
|
||||
par_many_var_big_func 5XXX
|
||||
par_many_var_big_func 1XXX
|
||||
par_many_var_func 1 2XXX 58XXX
|
||||
par_many_var_func 1 2XXX 58XXX
|
||||
par_many_var_func 1 1XXX 42XXX
|
||||
|
|
Loading…
Reference in a new issue