mirror of
https://git.savannah.gnu.org/git/parallel.git
synced 2024-11-23 14:38:05 +00:00
Fixed bug #66379: sql: Relative path DBURLs for SQLite3 do not work
This commit is contained in:
parent
e47cf98377
commit
6e69bc6b38
13
NEWS
13
NEWS
|
@ -1,3 +1,16 @@
|
||||||
|
20241122
|
||||||
|
|
||||||
|
New in this release:
|
||||||
|
|
||||||
|
* <<No new features. This is a candidate for a stable release.>>
|
||||||
|
|
||||||
|
* Bug fixes and man page updates.
|
||||||
|
|
||||||
|
News about GNU Parallel:
|
||||||
|
|
||||||
|
<<>>
|
||||||
|
|
||||||
|
|
||||||
20241022
|
20241022
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
15
doc/haikus
15
doc/haikus
|
@ -4,6 +4,21 @@
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
|
ainda não inventaram palavras capazes de expressar minha gratidão aos desenvolvedores do GNU Parallel
|
||||||
|
-- nueidris @nueidris.kawaii.social
|
||||||
|
|
||||||
|
Und die Tage jetzt hab ich GNU parallel für mich entdeckt, auch ne nette Geschichte, gerade wenn's irgendwelche remote APIs sind.
|
||||||
|
-- Vince @dd1des.bsky.social
|
||||||
|
|
||||||
|
GNU parallel is so satisfying
|
||||||
|
-- James Coman @jcoman.bsky.social
|
||||||
|
|
||||||
|
gnu parallelすごい!!!
|
||||||
|
-- たらたら@nosennyuu@twitter
|
||||||
|
|
||||||
|
GNU parallel is awesome. Use it more often in your scripts!
|
||||||
|
-- Wade @WadeGrimshire@twitter
|
||||||
|
|
||||||
by extreme do you mean extremely slow? you could do it at least 100x faster using awk + grep + gnu parallel
|
by extreme do you mean extremely slow? you could do it at least 100x faster using awk + grep + gnu parallel
|
||||||
-- @ObssessedDev@twitter
|
-- @ObssessedDev@twitter
|
||||||
|
|
||||||
|
|
|
@ -112,8 +112,7 @@ lbry://@GnuParallel#4/parallel-20210322.tar.bz2
|
||||||
|
|
||||||
. .last-doitag.txt
|
. .last-doitag.txt
|
||||||
file_path="`pwd`/parallel-$YYYYMMDD.tar.bz2"
|
file_path="`pwd`/parallel-$YYYYMMDD.tar.bz2"
|
||||||
title="GNU Parallel $YYYYMMDD ('$SPCTAG') [stable]"
|
#title="GNU Parallel $YYYYMMDD ('$SPCTAG') [stable]"
|
||||||
|
|
||||||
title="GNU Parallel $YYYYMMDD ('$SPCTAG')"
|
title="GNU Parallel $YYYYMMDD ('$SPCTAG')"
|
||||||
name="GNU-Parallel-$YYYYMMDD-$TAG"
|
name="GNU-Parallel-$YYYYMMDD-$TAG"
|
||||||
author="Ole Tange"
|
author="Ole Tange"
|
||||||
|
@ -121,6 +120,7 @@ license="GNU GPLv3 or later"
|
||||||
thumbnail_url=https://www.gnu.org/software/parallel/logo-gray+black10000.png
|
thumbnail_url=https://www.gnu.org/software/parallel/logo-gray+black10000.png
|
||||||
channel_name="@GnuParallel"
|
channel_name="@GnuParallel"
|
||||||
tags_opt='--tag gnu --tag parallel --tag free --tag software'
|
tags_opt='--tag gnu --tag parallel --tag free --tag software'
|
||||||
|
release_time=$(date -d "$YYYYMMDD" +%s)
|
||||||
|
|
||||||
description="An easy way to support GNU Parallel is to tip on LBRY.
|
description="An easy way to support GNU Parallel is to tip on LBRY.
|
||||||
|
|
||||||
|
@ -141,8 +141,7 @@ lbrynet publish \
|
||||||
--license="$license" \
|
--license="$license" \
|
||||||
--thumbnail_url="$thumbnail_url" \
|
--thumbnail_url="$thumbnail_url" \
|
||||||
--channel_name="$channel_name" \
|
--channel_name="$channel_name" \
|
||||||
|
--release_time="$release_time" \
|
||||||
# --release_time="$release_time" \
|
|
||||||
|
|
||||||
== Update website ==
|
== Update website ==
|
||||||
|
|
||||||
|
@ -267,14 +266,13 @@ from:tange@gnu.org
|
||||||
to:parallel@gnu.org, bug-parallel@gnu.org
|
to:parallel@gnu.org, bug-parallel@gnu.org
|
||||||
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
stable-bcc: Jesse Alama <jessealama@fastmail.fm>
|
||||||
|
|
||||||
Subject: GNU Parallel 20241022 ('Sinwar Nasrallah') released
|
Subject: GNU Parallel 20241122 ('#AhooDaryaei /Regn i valencia/us pres/Unite the kingdom/Tommy Robinson/Alex/Southport2/Georgien') released
|
||||||
|
|
||||||
GNU Parallel 20241022 ('Sinwar Nasrallah') has been released. It is available for download at: lbry://@GnuParallel:4
|
GNU Parallel 20241122 ('<<>>') has been released. It is available for download at: lbry://@GnuParallel:4
|
||||||
|
|
||||||
Quote of the month:
|
Quote of the month:
|
||||||
|
|
||||||
GNU Parallel is one of the most helpful tools I've been using recently, and it's just something like: parallel -j4 'gzip {}' ::: folder/*.csv
|
<<>>
|
||||||
-- Milton Pividori @miltondp@twitter
|
|
||||||
|
|
||||||
New in this release:
|
New in this release:
|
||||||
|
|
||||||
|
@ -284,13 +282,8 @@ New in this release:
|
||||||
|
|
||||||
News about GNU Parallel:
|
News about GNU Parallel:
|
||||||
|
|
||||||
* Separate arguments with a custom separator in GNU Parallel https://boxofcuriosities.co.uk/post/separate-arguments-with-a-custom-separator-in-gnu-parallel
|
https://www.redhat.com/en/blog/gnu-parallel
|
||||||
|
https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/
|
||||||
* GNU parallel is underrated https://amontalenti.com/2021/11/10/parallel
|
|
||||||
|
|
||||||
* Unlocking the Power of Supercomputers: My HPC Adventure with 2800 Cores and GNU Parallel https://augalip.com/2024/03/10/unlocking-the-power-of-supercomputers-my-hpc-adventure-with-2800-cores-and-gnu-parallel/
|
|
||||||
|
|
||||||
* Converting WebP Images to PNG Using parallel and dwebp https://bytefreaks.net/gnulinux/bash/converting-webp-images-to-png-using-parallel-and-dwebp
|
|
||||||
|
|
||||||
|
|
||||||
GNU Parallel - For people who live life in the parallel lane.
|
GNU Parallel - For people who live life in the parallel lane.
|
||||||
|
|
34
src/parallel
34
src/parallel
|
@ -2888,7 +2888,7 @@ sub check_invalid_option_combinations() {
|
||||||
|
|
||||||
sub init_globals() {
|
sub init_globals() {
|
||||||
# Defaults:
|
# Defaults:
|
||||||
$Global::version = 20241022;
|
$Global::version = 20241120;
|
||||||
$Global::progname = 'parallel';
|
$Global::progname = 'parallel';
|
||||||
$::name = "GNU Parallel";
|
$::name = "GNU Parallel";
|
||||||
$Global::infinity = 2**31;
|
$Global::infinity = 2**31;
|
||||||
|
@ -15159,12 +15159,18 @@ sub check_permissions($) {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub parse_dburl($) {
|
sub parse_dburl($) {
|
||||||
|
sub undef_if_empty {
|
||||||
|
if(defined($_[0]) and $_[0] eq "") {
|
||||||
|
return undef;
|
||||||
|
}
|
||||||
|
return $_[0];
|
||||||
|
}
|
||||||
my $url = shift;
|
my $url = shift;
|
||||||
my %options = ();
|
my %options = ();
|
||||||
# sql:mysql://[[user][:password]@][host][:port]/[database[/table][?query]]
|
# sql:mysql://[[user][:password]@][host][:port]/[database[/table][?query]]
|
||||||
|
|
||||||
if($url=~m!^(?:sql:)? # You can prefix with 'sql:'
|
if($url=~m!^(?:sql:)? # You can prefix with 'sql:'
|
||||||
((?:oracle|ora|mysql|pg|postgres|postgresql)(?:s|ssl|)|
|
((?:oracle|ora|mysql|pg|postgres|postgresql|influx|influxdb)(?:s|ssl|)|
|
||||||
(?:sqlite|sqlite2|sqlite3|csv)):// # Databasedriver ($1)
|
(?:sqlite|sqlite2|sqlite3|csv)):// # Databasedriver ($1)
|
||||||
(?:
|
(?:
|
||||||
([^:@/][^:@]*|) # Username ($2)
|
([^:@/][^:@]*|) # Username ($2)
|
||||||
|
@ -15179,25 +15185,27 @@ sub parse_dburl($) {
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
/
|
/
|
||||||
([^/?]*)? # Database ($6)
|
([^?]*)? # Database ($6)
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
/
|
/
|
||||||
([^?]*)? # Table ($7)
|
([^?/]*)? # Table ($7)
|
||||||
)?
|
)
|
||||||
(?:
|
(?:
|
||||||
\?
|
\?
|
||||||
(.*)? # Query ($8)
|
(.*)? # Query ($8)
|
||||||
)?
|
)?
|
||||||
$!ix) {
|
$!ix) {
|
||||||
$options{databasedriver} = ::undef_if_empty(lc(uri_unescape($1)));
|
$options{databasedriver} = undef_if_empty(lc(uri_unescape($1)));
|
||||||
$options{user} = ::undef_if_empty(uri_unescape($2));
|
$options{user} = undef_if_empty(uri_unescape($2));
|
||||||
$options{password} = ::undef_if_empty(uri_unescape($3));
|
$options{password} = undef_if_empty(uri_unescape($3));
|
||||||
$options{host} = ::undef_if_empty(uri_unescape($4));
|
$options{host} = undef_if_empty(uri_unescape($4));
|
||||||
$options{port} = ::undef_if_empty(uri_unescape($5));
|
$options{port} = undef_if_empty(uri_unescape($5));
|
||||||
$options{database} = ::undef_if_empty(uri_unescape($6));
|
$options{database} = undef_if_empty(uri_unescape($6))
|
||||||
$options{table} = ::undef_if_empty(uri_unescape($7));
|
|| $options{user} || $ENV{'USER'};
|
||||||
$options{query} = ::undef_if_empty(uri_unescape($8));
|
$options{table} = undef_if_empty(uri_unescape($7))
|
||||||
|
|| $options{user} || $ENV{'USER'};
|
||||||
|
$options{query} = undef_if_empty(uri_unescape($8));
|
||||||
::debug("sql", "dburl $url\n");
|
::debug("sql", "dburl $url\n");
|
||||||
::debug("sql", "databasedriver ", $options{databasedriver},
|
::debug("sql", "databasedriver ", $options{databasedriver},
|
||||||
" user ", $options{user},
|
" user ", $options{user},
|
||||||
|
|
|
@ -3124,7 +3124,7 @@ complete.
|
||||||
|
|
||||||
The format of a DBURL is:
|
The format of a DBURL is:
|
||||||
|
|
||||||
[sql:]vendor://[[user][:pwd]@][host][:port]/[db]/table
|
[sql:]vendor://[[user][:pwd]@][host][:port]/[db]/[table]
|
||||||
|
|
||||||
E.g.
|
E.g.
|
||||||
|
|
||||||
|
@ -3134,11 +3134,16 @@ E.g.
|
||||||
postgresql://scott:tiger@pg.example.com/pgdb/parjob
|
postgresql://scott:tiger@pg.example.com/pgdb/parjob
|
||||||
pg:///parjob
|
pg:///parjob
|
||||||
sqlite3:///%2Ftmp%2Fpardb.sqlite/parjob
|
sqlite3:///%2Ftmp%2Fpardb.sqlite/parjob
|
||||||
|
sqlite:///file_in_current_dir.sqlite/my_table
|
||||||
csv:///%2Ftmp%2Fpardb/parjob
|
csv:///%2Ftmp%2Fpardb/parjob
|
||||||
|
csv:///./file_in_current_dir
|
||||||
|
pg:////
|
||||||
|
|
||||||
Notice how / in the path of sqlite and CVS must be encoded as
|
Notice how / in the path of sqlite and CSV must be encoded as
|
||||||
%2F. Except the last / in CSV which must be a /.
|
%2F. Except the last / in CSV which must be a /.
|
||||||
|
|
||||||
|
I<db> and I<table> defaults to $USER: pg://// = pg:///$USER/$USER
|
||||||
|
|
||||||
It can also be an alias from ~/.sql/aliases:
|
It can also be an alias from ~/.sql/aliases:
|
||||||
|
|
||||||
:myalias mysql:///mydb/paralleljobs
|
:myalias mysql:///mydb/paralleljobs
|
||||||
|
|
47
src/sql
47
src/sql
|
@ -234,6 +234,18 @@ To quote special characters use %-encoding specified in
|
||||||
http://tools.ietf.org/html/rfc3986#section-2.1 (E.g. a password
|
http://tools.ietf.org/html/rfc3986#section-2.1 (E.g. a password
|
||||||
containing '/' would contain '%2F').
|
containing '/' would contain '%2F').
|
||||||
|
|
||||||
|
csv:///%2Ftmp%2Fparallel-bug-56096/mytable
|
||||||
|
csv:////tmp/parallel-bug-56096/mytable
|
||||||
|
mysql://me@/me/
|
||||||
|
mysql:////
|
||||||
|
|
||||||
|
sqlite3:///%2Frun%2Fshm%2Fparallel.db
|
||||||
|
sqlite3:///%2Frun%2Fshm%2Fparallel.db/table
|
||||||
|
sqlite:///%2Ftmp%2Ffile.sqlite?SELECT
|
||||||
|
csv:///%2Ftmp%2Fparallel-CSV/OK
|
||||||
|
csv:///%2Fmust%2Ffail/fail
|
||||||
|
sqlite3:///%2Frun%2Fshm%2Fparallel.db
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
mysql://scott:tiger@my.example.com/mydb
|
mysql://scott:tiger@my.example.com/mydb
|
||||||
|
@ -245,12 +257,23 @@ Examples:
|
||||||
sql:sqlite2:////tmp/db.sqlite?SELECT * FROM foo;
|
sql:sqlite2:////tmp/db.sqlite?SELECT * FROM foo;
|
||||||
sqlite3:///../db.sqlite3?SELECT%20*%20FROM%20foo;
|
sqlite3:///../db.sqlite3?SELECT%20*%20FROM%20foo;
|
||||||
|
|
||||||
Currently supported vendors: MySQL (mysql), MySQL with SSL (mysqls,
|
Currently supported vendors:
|
||||||
mysqlssl), Oracle (oracle, ora), PostgreSQL (postgresql, pg, pgsql,
|
|
||||||
postgres), PostgreSQL with SSL (postgresqlssl, pgs, pgsqlssl,
|
=over 2
|
||||||
postgresssl, pgssl, postgresqls, pgsqls, postgress), SQLite2 (sqlite,
|
|
||||||
sqlite2), SQLite3 (sqlite3), InfluxDB 1.x (influx, influxdb), InfluxDB
|
=item * MySQL (mysql) with SSL (mysqls, mysqlssl)
|
||||||
with SSL (influxdbssl, influxdbs, influxs, influxssl)
|
|
||||||
|
=item * Oracle (oracle, ora)
|
||||||
|
|
||||||
|
=item * PostgreSQL (postgresql, pg, pgsql, postgres) with SSL (postgresqlssl, pgs, pgsqlssl, postgresssl, pgssl, postgresqls, pgsqls, postgress)
|
||||||
|
|
||||||
|
=item * SQLite2 (sqlite, sqlite2)
|
||||||
|
|
||||||
|
=item * SQLite3 (sqlite3)
|
||||||
|
|
||||||
|
=item * InfluxDB 1.x (influx, influxdb) with SSL (influxdbssl, influxdbs, influxs, influxssl)
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
Aliases must start with ':' and are read from
|
Aliases must start with ':' and are read from
|
||||||
/etc/sql/aliases and ~/.sql/aliases. The user's own
|
/etc/sql/aliases and ~/.sql/aliases. The user's own
|
||||||
|
@ -1152,9 +1175,9 @@ sub parse_dburl {
|
||||||
my %options = ();
|
my %options = ();
|
||||||
# sql:mysql://[[user][:password]@][host][:port]/[database[?sql query]]
|
# sql:mysql://[[user][:password]@][host][:port]/[database[?sql query]]
|
||||||
|
|
||||||
if($url=~m!(?:sql:)? # You can prefix with 'sql:'
|
if($url=~m!^(?:sql:)? # You can prefix with 'sql:'
|
||||||
((?:oracle|ora|mysql|pg|postgres|postgresql|influx|influxdb)(?:s|ssl|)|
|
((?:oracle|ora|mysql|pg|postgres|postgresql|influx|influxdb)(?:s|ssl|)|
|
||||||
(?:sqlite|sqlite2|sqlite3)):// # Databasedriver ($1)
|
(?:sqlite|sqlite2|sqlite3|csv)):// # Databasedriver ($1)
|
||||||
(?:
|
(?:
|
||||||
([^:@/][^:@]*|) # Username ($2)
|
([^:@/][^:@]*|) # Username ($2)
|
||||||
(?:
|
(?:
|
||||||
|
@ -1168,21 +1191,21 @@ sub parse_dburl {
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
/
|
/
|
||||||
([^?/]*)? # Database ($6)
|
([^?]*)? # Database ($6)
|
||||||
)?
|
)?
|
||||||
(?:
|
(?:
|
||||||
/?
|
/?
|
||||||
\?
|
\?
|
||||||
(.*)? # Query ($7)
|
(.*)? # Query ($7)
|
||||||
)?
|
)?
|
||||||
!x) {
|
$!ix) {
|
||||||
$options{databasedriver} = undef_if_empty(uri_unescape($1));
|
$options{databasedriver} = undef_if_empty(lc(uri_unescape($1)));
|
||||||
$options{user} = undef_if_empty(uri_unescape($2));
|
$options{user} = undef_if_empty(uri_unescape($2));
|
||||||
$options{password} = undef_if_empty(uri_unescape($3));
|
$options{password} = undef_if_empty(uri_unescape($3));
|
||||||
$options{host} = undef_if_empty(uri_unescape($4));
|
$options{host} = undef_if_empty(uri_unescape($4));
|
||||||
$options{port} = undef_if_empty(uri_unescape($5));
|
$options{port} = undef_if_empty(uri_unescape($5));
|
||||||
$options{database} = undef_if_empty(uri_unescape($6))
|
$options{database} = undef_if_empty(uri_unescape($6))
|
||||||
|| $options{user};
|
|| $options{user} || $ENV{'USER'};
|
||||||
$options{query} = undef_if_empty(uri_unescape($7));
|
$options{query} = undef_if_empty(uri_unescape($7));
|
||||||
debug("dburl $url\n");
|
debug("dburl $url\n");
|
||||||
debug("databasedriver ",$options{databasedriver}, " user ", $options{user},
|
debug("databasedriver ",$options{databasedriver}, " user ", $options{user},
|
||||||
|
|
|
@ -8,6 +8,11 @@
|
||||||
# Each should be taking 1-3s and be possible to run in parallel
|
# Each should be taking 1-3s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
|
|
||||||
|
par_--pipe--block-2() {
|
||||||
|
echo '### --block -2'
|
||||||
|
yes `seq 100` | head -c 100M | parallel -j 5 --block -2 -k --pipe wc
|
||||||
|
}
|
||||||
|
|
||||||
par_keep_order_make_job_1_output_fast() {
|
par_keep_order_make_job_1_output_fast() {
|
||||||
echo '# EXAMPLE: Keep order, but make job 1 output fast'
|
echo '# EXAMPLE: Keep order, but make job 1 output fast'
|
||||||
doit() {
|
doit() {
|
||||||
|
|
|
@ -8,6 +8,88 @@
|
||||||
# Each should be taking 30-100s and be possible to run in parallel
|
# Each should be taking 30-100s and be possible to run in parallel
|
||||||
# I.e.: No race conditions, no logins
|
# I.e.: No race conditions, no logins
|
||||||
|
|
||||||
|
par__dburl_parsing() {
|
||||||
|
mkdir -p test
|
||||||
|
(
|
||||||
|
cd test
|
||||||
|
export me=$(whoami)
|
||||||
|
pwd=$(pwd)
|
||||||
|
pwdurl=$(pwd | perl -pe 's:/:%2F:g')
|
||||||
|
dburls=(
|
||||||
|
# relative path - no dir
|
||||||
|
# relative path - with dir
|
||||||
|
# full path
|
||||||
|
# default
|
||||||
|
|
||||||
|
csv:///mydir/$me
|
||||||
|
csv:///./mydir/$me
|
||||||
|
csv:///.%2Fmydir/$me
|
||||||
|
csv:///$pwd/$me
|
||||||
|
csv:///$pwdurl/$me
|
||||||
|
csv:///./$me
|
||||||
|
csv:///./
|
||||||
|
# this defaults to $me/$me = non-existent dir
|
||||||
|
csv:///$me/$me
|
||||||
|
csv:////$me
|
||||||
|
csv:///$me/
|
||||||
|
csv:////
|
||||||
|
csv:///
|
||||||
|
|
||||||
|
sqlite3:///$me/$me
|
||||||
|
sqlite3://mydir/$me/$me
|
||||||
|
sqlite3:///mydir/$me/$me
|
||||||
|
sqlite3:///mydir%2F$me/$me
|
||||||
|
sqlite3:///$pwd/$me/$me
|
||||||
|
sqlite3:///$pwdurl/$me/$me
|
||||||
|
sqlite3:///$me/
|
||||||
|
sqlite3:///$me/$me
|
||||||
|
sqlite3:////$me
|
||||||
|
sqlite3:///$me/
|
||||||
|
sqlite3:////
|
||||||
|
sqlite3:///
|
||||||
|
|
||||||
|
sqlite:///$me/$me
|
||||||
|
sqlite://mydir/$me/$me
|
||||||
|
sqlite:///mydir/$me/$me
|
||||||
|
sqlite:///mydir%2F$me/$me
|
||||||
|
sqlite:///$pwd/$me/$me
|
||||||
|
sqlite:///$pwdurl/$me/$me
|
||||||
|
sqlite:///$me/
|
||||||
|
sqlite:///$me/$me
|
||||||
|
sqlite:////$me
|
||||||
|
sqlite:///$me/
|
||||||
|
sqlite:////
|
||||||
|
sqlite:///
|
||||||
|
|
||||||
|
mysql://$me@/$me/$me
|
||||||
|
mysql://$me@/$me/
|
||||||
|
mysql://$me@//
|
||||||
|
mysql:///$me/$me
|
||||||
|
mysql:////$me
|
||||||
|
mysql:///$me/
|
||||||
|
mysql:////
|
||||||
|
mysql:///
|
||||||
|
|
||||||
|
pg://$me@/$me/$me
|
||||||
|
pg://$me@/$me/
|
||||||
|
pg://$me@//
|
||||||
|
pg:///$me/$me
|
||||||
|
pg:////$me
|
||||||
|
pg:///$me/
|
||||||
|
pg:////
|
||||||
|
pg:///
|
||||||
|
)
|
||||||
|
test_dburl() {
|
||||||
|
mkdir mydir
|
||||||
|
parallel -k --sqlandworker $1 echo ::: {1..3}
|
||||||
|
rm -rf "$me" mydir
|
||||||
|
}
|
||||||
|
export -f test_dburl
|
||||||
|
parallel -j1 --tag test_dburl ::: ${dburls[@]}
|
||||||
|
)
|
||||||
|
rmdir test
|
||||||
|
}
|
||||||
|
|
||||||
par_sshlogin_parsing() {
|
par_sshlogin_parsing() {
|
||||||
echo '### Generate sshlogins to test parsing'
|
echo '### Generate sshlogins to test parsing'
|
||||||
sudo sshd -p 22222
|
sudo sshd -p 22222
|
||||||
|
@ -564,7 +646,7 @@ par_memfree() {
|
||||||
grep -v TERM | grep -v ps/display.c
|
grep -v TERM | grep -v ps/display.c
|
||||||
}
|
}
|
||||||
|
|
||||||
par_test_detected_shell() {
|
par__test_detected_shell() {
|
||||||
echo '### bug #42913: Dont use $SHELL but the shell currently running'
|
echo '### bug #42913: Dont use $SHELL but the shell currently running'
|
||||||
|
|
||||||
shells="bash csh dash fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh"
|
shells="bash csh dash fish fizsh ksh ksh93 mksh posh rbash rush rzsh sash sh static-sh tcsh yash zsh"
|
||||||
|
|
|
@ -73,7 +73,7 @@ par_exit() {
|
||||||
export -f test_signal
|
export -f test_signal
|
||||||
ulimit -c 0
|
ulimit -c 0
|
||||||
stdout parallel -j15 -k --timeout 20 --tag test_signal ::: {0..64} |
|
stdout parallel -j15 -k --timeout 20 --tag test_signal ::: {0..64} |
|
||||||
perl -pe 's/line 1: (\d+)/line 1: PID/'
|
perl -pe 's/line 1: *(\d+)/line 1: PID/'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
par_--pipe--block-2 ### --block -2
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35911 3591100 10486012
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 35910 3591000 10485720
|
||||||
|
par_--pipe--block-2 0 39 108
|
||||||
par__arg_sep ### Test basic --arg-sep
|
par__arg_sep ### Test basic --arg-sep
|
||||||
par__arg_sep a
|
par__arg_sep a
|
||||||
par__arg_sep b
|
par__arg_sep b
|
||||||
|
|
|
@ -1,3 +1,182 @@
|
||||||
|
par__dburl_parsing csv:///mydir/tange parallel: Error:
|
||||||
|
par__dburl_parsing csv:///mydir/tange Execution ERROR: Cannot open /tmp/parallel-local-30s-tmp/
|
||||||
|
par__dburl_parsing csv:///mydir/tange `/tmp/trip`>/tmp/tripwire;
|
||||||
|
par__dburl_parsing csv:///mydir/tange
|
||||||
|
par__dburl_parsing csv:///mydir/tange "'@<?[]|~\/tmp/test/mydir/tange: No such file or directory (2) at /usr/lib/x86_64-linux-gnu/perl5/5.38/DBI/DBD/SqlEngine.pm line 1624.
|
||||||
|
par__dburl_parsing csv:///mydir/tange called from /usr/local/bin/parallel at 15320.
|
||||||
|
par__dburl_parsing csv:///mydir/tange
|
||||||
|
par__dburl_parsing csv:///mydir/tange
|
||||||
|
par__dburl_parsing csv:///./mydir/tange parallel: Error:
|
||||||
|
par__dburl_parsing csv:///./mydir/tange Execution ERROR: Cannot open /tmp/parallel-local-30s-tmp/
|
||||||
|
par__dburl_parsing csv:///./mydir/tange `/tmp/trip`>/tmp/tripwire;
|
||||||
|
par__dburl_parsing csv:///./mydir/tange
|
||||||
|
par__dburl_parsing csv:///./mydir/tange "'@<?[]|~\/tmp/test/mydir/tange: No such file or directory (2) at /usr/lib/x86_64-linux-gnu/perl5/5.38/DBI/DBD/SqlEngine.pm line 1624.
|
||||||
|
par__dburl_parsing csv:///./mydir/tange called from /usr/local/bin/parallel at 15320.
|
||||||
|
par__dburl_parsing csv:///./mydir/tange
|
||||||
|
par__dburl_parsing csv:///./mydir/tange
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange parallel: Error:
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange Execution ERROR: Cannot open /tmp/parallel-local-30s-tmp/
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange `/tmp/trip`>/tmp/tripwire;
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange "'@<?[]|~\/tmp/test/mydir/tange: No such file or directory (2) at /usr/lib/x86_64-linux-gnu/perl5/5.38/DBI/DBD/SqlEngine.pm line 1624.
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange called from /usr/local/bin/parallel at 15320.
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange
|
||||||
|
par__dburl_parsing csv:///.%2Fmydir/tange
|
||||||
|
par__dburl_parsing csv:////tmp/parallel-local-30s-tmp/ 1
|
||||||
|
par__dburl_parsing csv:////tmp/parallel-local-30s-tmp/ 2
|
||||||
|
par__dburl_parsing csv:////tmp/parallel-local-30s-tmp/ 3
|
||||||
|
par__dburl_parsing `/tmp/trip`>/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire; is not a valid DBURL
|
||||||
|
par__dburl_parsing parallel: Error: is not a valid DBURL
|
||||||
|
par__dburl_parsing "'@<?[]|~\/tmp/test/tange parallel: Error: "'@<?[]|~\/tmp/test/tange is not a valid DBURL
|
||||||
|
par__dburl_parsing csv:///%2Ftmp%2Fparallel-local-30s-tmp%2F parallel: Error: tange is not a directory.
|
||||||
|
par__dburl_parsing `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; is not a valid DBURL
|
||||||
|
par__dburl_parsing parallel: Error: is not a valid DBURL
|
||||||
|
par__dburl_parsing "'@<?[]|~\%2Ftmp%2Ftest/tange parallel: Error: "'@<?[]|~\%2Ftmp%2Ftest/tange is not a valid DBURL
|
||||||
|
par__dburl_parsing csv:///./tange parallel: Error:
|
||||||
|
par__dburl_parsing csv:///./tange Execution ERROR: Cannot open /tmp/parallel-local-30s-tmp/
|
||||||
|
par__dburl_parsing csv:///./tange `/tmp/trip`>/tmp/tripwire;
|
||||||
|
par__dburl_parsing csv:///./tange
|
||||||
|
par__dburl_parsing csv:///./tange "'@<?[]|~\/tmp/test/tange: No such file or directory (2) at /usr/lib/x86_64-linux-gnu/perl5/5.38/DBI/DBD/SqlEngine.pm line 1624.
|
||||||
|
par__dburl_parsing csv:///./tange called from /usr/local/bin/parallel at 15320.
|
||||||
|
par__dburl_parsing csv:///./tange
|
||||||
|
par__dburl_parsing csv:///./tange
|
||||||
|
par__dburl_parsing csv:///./ parallel: Error:
|
||||||
|
par__dburl_parsing csv:///./ Execution ERROR: Cannot open /tmp/parallel-local-30s-tmp/
|
||||||
|
par__dburl_parsing csv:///./ `/tmp/trip`>/tmp/tripwire;
|
||||||
|
par__dburl_parsing csv:///./
|
||||||
|
par__dburl_parsing csv:///./ "'@<?[]|~\/tmp/test/tange: No such file or directory (2) at /usr/lib/x86_64-linux-gnu/perl5/5.38/DBI/DBD/SqlEngine.pm line 1624.
|
||||||
|
par__dburl_parsing csv:///./ called from /usr/local/bin/parallel at 15320.
|
||||||
|
par__dburl_parsing csv:///./
|
||||||
|
par__dburl_parsing csv:///./
|
||||||
|
par__dburl_parsing csv:///tange/tange parallel: Error: tange is not a directory.
|
||||||
|
par__dburl_parsing csv:////tange parallel: Error: tange is not a directory.
|
||||||
|
par__dburl_parsing csv:///tange/ parallel: Error: tange is not a directory.
|
||||||
|
par__dburl_parsing csv://// parallel: Error: tange is not a directory.
|
||||||
|
par__dburl_parsing csv:/// parallel: Error: tange is not a directory.
|
||||||
|
par__dburl_parsing sqlite3:///tange/tange 1
|
||||||
|
par__dburl_parsing sqlite3:///tange/tange 2
|
||||||
|
par__dburl_parsing sqlite3:///tange/tange 3
|
||||||
|
par__dburl_parsing sqlite3://mydir/tange/tange 1
|
||||||
|
par__dburl_parsing sqlite3://mydir/tange/tange 2
|
||||||
|
par__dburl_parsing sqlite3://mydir/tange/tange 3
|
||||||
|
par__dburl_parsing sqlite3:///mydir/tange/tange 1
|
||||||
|
par__dburl_parsing sqlite3:///mydir/tange/tange 2
|
||||||
|
par__dburl_parsing sqlite3:///mydir/tange/tange 3
|
||||||
|
par__dburl_parsing sqlite3:///mydir%2Ftange/tange 1
|
||||||
|
par__dburl_parsing sqlite3:///mydir%2Ftange/tange 2
|
||||||
|
par__dburl_parsing sqlite3:///mydir%2Ftange/tange 3
|
||||||
|
par__dburl_parsing sqlite3:////tmp/parallel-local-30s-tmp/ DBI connect('dbname=/tmp/parallel-local-30s-tmp','',...) failed: unable to open database file at /usr/local/bin/parallel line 15114.
|
||||||
|
par__dburl_parsing `/tmp/trip`>/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire; is not a valid DBURL
|
||||||
|
par__dburl_parsing parallel: Error: is not a valid DBURL
|
||||||
|
par__dburl_parsing "'@<?[]|~\/tmp/test/tange/tange parallel: Error: "'@<?[]|~\/tmp/test/tange/tange is not a valid DBURL
|
||||||
|
par__dburl_parsing sqlite3:///%2Ftmp%2Fparallel-local-30s-tmp%2F DBD::SQLite::db prepare failed: near "/": syntax error [for Statement "DROP TABLE IF EXISTS /tmp/parallel-local-30s-tmp/;"] at /usr/local/bin/parallel line 15317, <$fh> line 1.
|
||||||
|
par__dburl_parsing `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; is not a valid DBURL
|
||||||
|
par__dburl_parsing parallel: Error: is not a valid DBURL
|
||||||
|
par__dburl_parsing "'@<?[]|~\%2Ftmp%2Ftest/tange/tange parallel: Error: "'@<?[]|~\%2Ftmp%2Ftest/tange/tange is not a valid DBURL
|
||||||
|
par__dburl_parsing sqlite3:///tange/ 1
|
||||||
|
par__dburl_parsing sqlite3:///tange/ 2
|
||||||
|
par__dburl_parsing sqlite3:///tange/ 3
|
||||||
|
par__dburl_parsing sqlite3:///tange/tange 1
|
||||||
|
par__dburl_parsing sqlite3:///tange/tange 2
|
||||||
|
par__dburl_parsing sqlite3:///tange/tange 3
|
||||||
|
par__dburl_parsing sqlite3:////tange 1
|
||||||
|
par__dburl_parsing sqlite3:////tange 2
|
||||||
|
par__dburl_parsing sqlite3:////tange 3
|
||||||
|
par__dburl_parsing sqlite3:///tange/ 1
|
||||||
|
par__dburl_parsing sqlite3:///tange/ 2
|
||||||
|
par__dburl_parsing sqlite3:///tange/ 3
|
||||||
|
par__dburl_parsing sqlite3://// 1
|
||||||
|
par__dburl_parsing sqlite3://// 2
|
||||||
|
par__dburl_parsing sqlite3://// 3
|
||||||
|
par__dburl_parsing sqlite3:/// 1
|
||||||
|
par__dburl_parsing sqlite3:/// 2
|
||||||
|
par__dburl_parsing sqlite3:/// 3
|
||||||
|
par__dburl_parsing sqlite:///tange/tange 1
|
||||||
|
par__dburl_parsing sqlite:///tange/tange 2
|
||||||
|
par__dburl_parsing sqlite:///tange/tange 3
|
||||||
|
par__dburl_parsing sqlite://mydir/tange/tange 1
|
||||||
|
par__dburl_parsing sqlite://mydir/tange/tange 2
|
||||||
|
par__dburl_parsing sqlite://mydir/tange/tange 3
|
||||||
|
par__dburl_parsing sqlite:///mydir/tange/tange 1
|
||||||
|
par__dburl_parsing sqlite:///mydir/tange/tange 2
|
||||||
|
par__dburl_parsing sqlite:///mydir/tange/tange 3
|
||||||
|
par__dburl_parsing sqlite:///mydir%2Ftange/tange 1
|
||||||
|
par__dburl_parsing sqlite:///mydir%2Ftange/tange 2
|
||||||
|
par__dburl_parsing sqlite:///mydir%2Ftange/tange 3
|
||||||
|
par__dburl_parsing sqlite:////tmp/parallel-local-30s-tmp/ DBI connect('dbname=/tmp/parallel-local-30s-tmp','',...) failed: unable to open database file at /usr/local/bin/parallel line 15114.
|
||||||
|
par__dburl_parsing `/tmp/trip`>/tmp/tripwire; parallel: Error: `/tmp/trip`>/tmp/tripwire; is not a valid DBURL
|
||||||
|
par__dburl_parsing parallel: Error: is not a valid DBURL
|
||||||
|
par__dburl_parsing "'@<?[]|~\/tmp/test/tange/tange parallel: Error: "'@<?[]|~\/tmp/test/tange/tange is not a valid DBURL
|
||||||
|
par__dburl_parsing sqlite:///%2Ftmp%2Fparallel-local-30s-tmp%2F DBD::SQLite::db prepare failed: near "/": syntax error [for Statement "DROP TABLE IF EXISTS /tmp/parallel-local-30s-tmp/;"] at /usr/local/bin/parallel line 15317, <$fh> line 1.
|
||||||
|
par__dburl_parsing `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; parallel: Error: `%2Ftmp%2Ftrip`>%2Ftmp%2Ftripwire; is not a valid DBURL
|
||||||
|
par__dburl_parsing parallel: Error: is not a valid DBURL
|
||||||
|
par__dburl_parsing "'@<?[]|~\%2Ftmp%2Ftest/tange/tange parallel: Error: "'@<?[]|~\%2Ftmp%2Ftest/tange/tange is not a valid DBURL
|
||||||
|
par__dburl_parsing sqlite:///tange/ 1
|
||||||
|
par__dburl_parsing sqlite:///tange/ 2
|
||||||
|
par__dburl_parsing sqlite:///tange/ 3
|
||||||
|
par__dburl_parsing sqlite:///tange/tange 1
|
||||||
|
par__dburl_parsing sqlite:///tange/tange 2
|
||||||
|
par__dburl_parsing sqlite:///tange/tange 3
|
||||||
|
par__dburl_parsing sqlite:////tange 1
|
||||||
|
par__dburl_parsing sqlite:////tange 2
|
||||||
|
par__dburl_parsing sqlite:////tange 3
|
||||||
|
par__dburl_parsing sqlite:///tange/ 1
|
||||||
|
par__dburl_parsing sqlite:///tange/ 2
|
||||||
|
par__dburl_parsing sqlite:///tange/ 3
|
||||||
|
par__dburl_parsing sqlite://// 1
|
||||||
|
par__dburl_parsing sqlite://// 2
|
||||||
|
par__dburl_parsing sqlite://// 3
|
||||||
|
par__dburl_parsing sqlite:/// 1
|
||||||
|
par__dburl_parsing sqlite:/// 2
|
||||||
|
par__dburl_parsing sqlite:/// 3
|
||||||
|
par__dburl_parsing mysql://tange@/tange/tange 1
|
||||||
|
par__dburl_parsing mysql://tange@/tange/tange 2
|
||||||
|
par__dburl_parsing mysql://tange@/tange/tange 3
|
||||||
|
par__dburl_parsing mysql://tange@/tange/ 1
|
||||||
|
par__dburl_parsing mysql://tange@/tange/ 2
|
||||||
|
par__dburl_parsing mysql://tange@/tange/ 3
|
||||||
|
par__dburl_parsing mysql://tange@// 1
|
||||||
|
par__dburl_parsing mysql://tange@// 2
|
||||||
|
par__dburl_parsing mysql://tange@// 3
|
||||||
|
par__dburl_parsing mysql:///tange/tange 1
|
||||||
|
par__dburl_parsing mysql:///tange/tange 2
|
||||||
|
par__dburl_parsing mysql:///tange/tange 3
|
||||||
|
par__dburl_parsing mysql:////tange 1
|
||||||
|
par__dburl_parsing mysql:////tange 2
|
||||||
|
par__dburl_parsing mysql:////tange 3
|
||||||
|
par__dburl_parsing mysql:///tange/ 1
|
||||||
|
par__dburl_parsing mysql:///tange/ 2
|
||||||
|
par__dburl_parsing mysql:///tange/ 3
|
||||||
|
par__dburl_parsing mysql://// 1
|
||||||
|
par__dburl_parsing mysql://// 2
|
||||||
|
par__dburl_parsing mysql://// 3
|
||||||
|
par__dburl_parsing mysql:/// 1
|
||||||
|
par__dburl_parsing mysql:/// 2
|
||||||
|
par__dburl_parsing mysql:/// 3
|
||||||
|
par__dburl_parsing pg://tange@/tange/tange 1
|
||||||
|
par__dburl_parsing pg://tange@/tange/tange 2
|
||||||
|
par__dburl_parsing pg://tange@/tange/tange 3
|
||||||
|
par__dburl_parsing pg://tange@/tange/ 1
|
||||||
|
par__dburl_parsing pg://tange@/tange/ 2
|
||||||
|
par__dburl_parsing pg://tange@/tange/ 3
|
||||||
|
par__dburl_parsing pg://tange@// 1
|
||||||
|
par__dburl_parsing pg://tange@// 2
|
||||||
|
par__dburl_parsing pg://tange@// 3
|
||||||
|
par__dburl_parsing pg:///tange/tange 1
|
||||||
|
par__dburl_parsing pg:///tange/tange 2
|
||||||
|
par__dburl_parsing pg:///tange/tange 3
|
||||||
|
par__dburl_parsing pg:////tange 1
|
||||||
|
par__dburl_parsing pg:////tange 2
|
||||||
|
par__dburl_parsing pg:////tange 3
|
||||||
|
par__dburl_parsing pg:///tange/ 1
|
||||||
|
par__dburl_parsing pg:///tange/ 2
|
||||||
|
par__dburl_parsing pg:///tange/ 3
|
||||||
|
par__dburl_parsing pg://// 1
|
||||||
|
par__dburl_parsing pg://// 2
|
||||||
|
par__dburl_parsing pg://// 3
|
||||||
|
par__dburl_parsing pg:/// 1
|
||||||
|
par__dburl_parsing pg:/// 2
|
||||||
|
par__dburl_parsing pg:/// 3
|
||||||
par__groupby_big ### test --group-by on file bigger than block
|
par__groupby_big ### test --group-by on file bigger than block
|
||||||
par__groupby_big --group-by on col 1..3, -n1..5
|
par__groupby_big --group-by on col 1..3, -n1..5
|
||||||
par__groupby_big _pipe and _ppart (pipepart) must return the same
|
par__groupby_big _pipe and _ppart (pipepart) must return the same
|
||||||
|
@ -1608,7 +1787,58 @@ par__print_in_blocks ### bug #41565: Print happens in blocks - not after each jo
|
||||||
par__print_in_blocks The timing here is important: a full second between each
|
par__print_in_blocks The timing here is important: a full second between each
|
||||||
par__print_in_blocks 1
|
par__print_in_blocks 1
|
||||||
par__print_in_blocks 300 ms jobs:
|
par__print_in_blocks 300 ms jobs:
|
||||||
par__print_in_blocks 3
|
par__print_in_blocks 4
|
||||||
|
par__test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running
|
||||||
|
par__test_detected_shell test_unknown_shell bash Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell csh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell dash Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell fish Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell fizsh Global::shell /usr/bin/zsh
|
||||||
|
par__test_detected_shell test_unknown_shell ksh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell ksh93 Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell mksh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell posh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell rbash Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell rzsh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell sash Global::shell /usr/bin/sh
|
||||||
|
par__test_detected_shell test_unknown_shell sh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell tcsh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell yash Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_unknown_shell zsh Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_known_shell_c bash Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_known_shell_c csh Global::shell /usr/bin/csh
|
||||||
|
par__test_detected_shell test_known_shell_c dash Global::shell /usr/bin/dash
|
||||||
|
par__test_detected_shell test_known_shell_c fish Global::shell /usr/bin/fish
|
||||||
|
par__test_detected_shell test_known_shell_c fizsh Global::shell /usr/bin/zsh
|
||||||
|
par__test_detected_shell test_known_shell_c ksh Global::shell /usr/bin/ksh
|
||||||
|
par__test_detected_shell test_known_shell_c ksh93 Global::shell /usr/bin/ksh93
|
||||||
|
par__test_detected_shell test_known_shell_c mksh Global::shell /usr/bin/mksh
|
||||||
|
par__test_detected_shell test_known_shell_c posh Global::shell /usr/bin/posh
|
||||||
|
par__test_detected_shell test_known_shell_c rbash Global::shell /usr/bin/rbash
|
||||||
|
par__test_detected_shell test_known_shell_c rzsh Global::shell /usr/bin/rzsh
|
||||||
|
par__test_detected_shell test_known_shell_c sash Global::shell /usr/bin/sh
|
||||||
|
par__test_detected_shell test_known_shell_c sh Global::shell /usr/bin/sh
|
||||||
|
par__test_detected_shell test_known_shell_c static-sh Global::shell /usr/bin/static-sh
|
||||||
|
par__test_detected_shell test_known_shell_c tcsh Global::shell /usr/bin/tcsh
|
||||||
|
par__test_detected_shell test_known_shell_c yash Global::shell /usr/bin/yash
|
||||||
|
par__test_detected_shell test_known_shell_c zsh Global::shell /usr/bin/zsh
|
||||||
|
par__test_detected_shell test_known_shell_pipe bash Global::shell /usr/bin/bash
|
||||||
|
par__test_detected_shell test_known_shell_pipe csh Global::shell /usr/bin/csh
|
||||||
|
par__test_detected_shell test_known_shell_pipe dash Global::shell /usr/bin/dash
|
||||||
|
par__test_detected_shell test_known_shell_pipe fish Global::shell /usr/bin/fish
|
||||||
|
par__test_detected_shell test_known_shell_pipe fizsh Global::shell /usr/bin/fizsh
|
||||||
|
par__test_detected_shell test_known_shell_pipe ksh Global::shell /usr/bin/ksh
|
||||||
|
par__test_detected_shell test_known_shell_pipe ksh93 Global::shell /usr/bin/ksh93
|
||||||
|
par__test_detected_shell test_known_shell_pipe mksh Global::shell /usr/bin/mksh
|
||||||
|
par__test_detected_shell test_known_shell_pipe posh Global::shell /usr/bin/posh
|
||||||
|
par__test_detected_shell test_known_shell_pipe rbash Global::shell /usr/bin/rbash
|
||||||
|
par__test_detected_shell test_known_shell_pipe rzsh Global::shell /usr/bin/rzsh
|
||||||
|
par__test_detected_shell test_known_shell_pipe sash Global::shell /usr/bin/sh
|
||||||
|
par__test_detected_shell test_known_shell_pipe sh Global::shell /usr/bin/sh
|
||||||
|
par__test_detected_shell test_known_shell_pipe static-sh Global::shell /usr/bin/static-sh
|
||||||
|
par__test_detected_shell test_known_shell_pipe tcsh Global::shell /usr/bin/tcsh
|
||||||
|
par__test_detected_shell test_known_shell_pipe yash Global::shell /usr/bin/yash
|
||||||
|
par__test_detected_shell test_known_shell_pipe zsh Global::shell /usr/bin/zsh
|
||||||
par_bin ### Test --bin
|
par_bin ### Test --bin
|
||||||
par_bin 2 2 4
|
par_bin 2 2 4
|
||||||
par_bin 2 2 4
|
par_bin 2 2 4
|
||||||
|
@ -3187,57 +3417,6 @@ par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)
|
||||||
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo withpassword
|
||||||
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 22222
|
||||||
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
par_sshlogin_parsing @grp1+grp2/4//usr/bin/ssh withpassword::;`echo>/tmp/trap`;)(|<*&"'@lo:22222 withpassword
|
||||||
par_test_detected_shell ### bug #42913: Dont use $SHELL but the shell currently running
|
|
||||||
par_test_detected_shell test_unknown_shell bash Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell csh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell dash Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell fish Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell fizsh Global::shell /usr/bin/zsh
|
|
||||||
par_test_detected_shell test_unknown_shell ksh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell ksh93 Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell mksh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell posh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell rbash Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell rzsh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell sash Global::shell /usr/bin/sh
|
|
||||||
par_test_detected_shell test_unknown_shell sh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell tcsh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell yash Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_unknown_shell zsh Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_known_shell_c bash Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_known_shell_c csh Global::shell /usr/bin/csh
|
|
||||||
par_test_detected_shell test_known_shell_c dash Global::shell /usr/bin/dash
|
|
||||||
par_test_detected_shell test_known_shell_c fish Global::shell /usr/bin/fish
|
|
||||||
par_test_detected_shell test_known_shell_c fizsh Global::shell /usr/bin/zsh
|
|
||||||
par_test_detected_shell test_known_shell_c ksh Global::shell /usr/bin/ksh
|
|
||||||
par_test_detected_shell test_known_shell_c ksh93 Global::shell /usr/bin/ksh93
|
|
||||||
par_test_detected_shell test_known_shell_c mksh Global::shell /usr/bin/mksh
|
|
||||||
par_test_detected_shell test_known_shell_c posh Global::shell /usr/bin/posh
|
|
||||||
par_test_detected_shell test_known_shell_c rbash Global::shell /usr/bin/rbash
|
|
||||||
par_test_detected_shell test_known_shell_c rzsh Global::shell /usr/bin/rzsh
|
|
||||||
par_test_detected_shell test_known_shell_c sash Global::shell /usr/bin/sh
|
|
||||||
par_test_detected_shell test_known_shell_c sh Global::shell /usr/bin/sh
|
|
||||||
par_test_detected_shell test_known_shell_c static-sh Global::shell /usr/bin/static-sh
|
|
||||||
par_test_detected_shell test_known_shell_c tcsh Global::shell /usr/bin/tcsh
|
|
||||||
par_test_detected_shell test_known_shell_c yash Global::shell /usr/bin/yash
|
|
||||||
par_test_detected_shell test_known_shell_c zsh Global::shell /usr/bin/zsh
|
|
||||||
par_test_detected_shell test_known_shell_pipe bash Global::shell /usr/bin/bash
|
|
||||||
par_test_detected_shell test_known_shell_pipe csh Global::shell /usr/bin/csh
|
|
||||||
par_test_detected_shell test_known_shell_pipe dash Global::shell /usr/bin/dash
|
|
||||||
par_test_detected_shell test_known_shell_pipe fish Global::shell /usr/bin/fish
|
|
||||||
par_test_detected_shell test_known_shell_pipe fizsh Global::shell /usr/bin/fizsh
|
|
||||||
par_test_detected_shell test_known_shell_pipe ksh Global::shell /usr/bin/ksh
|
|
||||||
par_test_detected_shell test_known_shell_pipe ksh93 Global::shell /usr/bin/ksh93
|
|
||||||
par_test_detected_shell test_known_shell_pipe mksh Global::shell /usr/bin/mksh
|
|
||||||
par_test_detected_shell test_known_shell_pipe posh Global::shell /usr/bin/posh
|
|
||||||
par_test_detected_shell test_known_shell_pipe rbash Global::shell /usr/bin/rbash
|
|
||||||
par_test_detected_shell test_known_shell_pipe rzsh Global::shell /usr/bin/rzsh
|
|
||||||
par_test_detected_shell test_known_shell_pipe sash Global::shell /usr/bin/sh
|
|
||||||
par_test_detected_shell test_known_shell_pipe sh Global::shell /usr/bin/sh
|
|
||||||
par_test_detected_shell test_known_shell_pipe static-sh Global::shell /usr/bin/static-sh
|
|
||||||
par_test_detected_shell test_known_shell_pipe tcsh Global::shell /usr/bin/tcsh
|
|
||||||
par_test_detected_shell test_known_shell_pipe yash Global::shell /usr/bin/yash
|
|
||||||
par_test_detected_shell test_known_shell_pipe zsh Global::shell /usr/bin/zsh
|
|
||||||
par_test_diff_roundrobin_k ### test there is difference on -k
|
par_test_diff_roundrobin_k ### test there is difference on -k
|
||||||
par_test_diff_roundrobin_k OK
|
par_test_diff_roundrobin_k OK
|
||||||
par_test_ipv6_format ### Host as IPv6 address
|
par_test_ipv6_format ### Host as IPv6 address
|
||||||
|
|
|
@ -51,10 +51,7 @@ par_continuous_output 1
|
||||||
par_continuous_output 1
|
par_continuous_output 1
|
||||||
par_continuous_output 1
|
par_continuous_output 1
|
||||||
par_continuous_output 1
|
par_continuous_output 1
|
||||||
par_hostgroup ### --hostgroup force ncpu
|
par_hostgroup ### --hostgroup force ncpu - 2x parallel, 6x me
|
||||||
par_hostgroup parallel
|
|
||||||
par_hostgroup tange
|
|
||||||
par_hostgroup ### --hostgroup two group arg
|
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
|
@ -63,7 +60,16 @@ par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup ### --hostgroup one group arg
|
par_hostgroup ### --hostgroup two group arg - 2x parallel, 6x me
|
||||||
|
par_hostgroup parallel
|
||||||
|
par_hostgroup parallel
|
||||||
|
par_hostgroup tange
|
||||||
|
par_hostgroup tange
|
||||||
|
par_hostgroup tange
|
||||||
|
par_hostgroup tange
|
||||||
|
par_hostgroup tange
|
||||||
|
par_hostgroup tange
|
||||||
|
par_hostgroup ### --hostgroup one group arg - 8x me
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
|
@ -72,7 +78,7 @@ par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup ### --hostgroup multiple group arg + unused group
|
par_hostgroup ### --hostgroup multiple group arg + unused group - 2x parallel, 6x me, 0x tcsh
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup ### --hostgroup two groups @
|
par_hostgroup ### --hostgroup two groups @
|
||||||
|
@ -87,17 +93,17 @@ par_hostgroup implicit_group
|
||||||
par_hostgroup ### --hostgroup --sshlogin with @
|
par_hostgroup ### --hostgroup --sshlogin with @
|
||||||
par_hostgroup no_group
|
par_hostgroup no_group
|
||||||
par_hostgroup implicit_group
|
par_hostgroup implicit_group
|
||||||
par_hostgroup ### --hostgroup -S @group
|
par_hostgroup ### --hostgroup -S @group - bad if you get parallel@lo
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tcsh
|
par_hostgroup tcsh
|
||||||
par_hostgroup ### --hostgroup -S @group1 -Sgrp2
|
par_hostgroup ### --hostgroup -S @group1 -Sgrp2 - get all twice
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
par_hostgroup tcsh
|
par_hostgroup tcsh
|
||||||
par_hostgroup tcsh
|
par_hostgroup tcsh
|
||||||
par_hostgroup ### --hostgroup -S @group1+grp2
|
par_hostgroup ### --hostgroup -S @group1+grp2 - get all twice
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup parallel
|
par_hostgroup parallel
|
||||||
par_hostgroup tange
|
par_hostgroup tange
|
||||||
|
|
Loading…
Reference in a new issue