From 6097ff9de7124947c0cda80c3430705add826645 Mon Sep 17 00:00:00 2001 From: Ole Tange Date: Fri, 19 Aug 2022 23:42:55 +0200 Subject: [PATCH] parallel: --plus bug if input ended in . --- src/parallel | 16 ++++++++-------- testsuite/tests-to-run/parallel-local-1s.sh | 5 ++++- testsuite/tests-to-run/sql02.sh | 2 +- testsuite/wanted-results/parallel-local-1s | 16 ++++++++++++++++ testsuite/wanted-results/sql01 | 4 ++-- testsuite/wanted-results/sql02 | 5 +---- 6 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/parallel b/src/parallel index 073fcaa5..fa9b4b5b 100755 --- a/src/parallel +++ b/src/parallel @@ -2703,8 +2703,8 @@ sub init_globals() { '{//}' => ('$Global::use{"File::Basename"} ||= eval "use File::Basename; 1;"; '. '$_ = dirname($_);'), - '{/.}' => 's:.*/::; s:\.[^/.]+$::;', - '{.}' => 's:\.[^/.]+$::', + '{/.}' => 's:.*/::; s:\.[^/.]*$::;', + '{.}' => 's:\.[^/.]*$::', ); %Global::plus = ( @@ -2716,12 +2716,12 @@ sub init_globals() { # a.b => b; a => '' '{+.}' => 's:.*\.:: || s:.*$::', # a.b.c => b.c; a.b => ''; a => '' - '{+..}' => 's:.*\.([^/.]+\.[^/.]+)$:$1: || s:.*$::', - '{+...}' => 's:.*\.([^/.]+\.[^/.]+\.[^/.]+)$:$1: || s:.*$::', - '{..}' => 's:\.[^/.]+\.[^/.]+$::', - '{...}' => 's:\.[^/.]+\.[^/.]+\.[^/.]+$::', - '{/..}' => 's:.*/::; s:\.[^/.]+\.[^/.]+$::', - '{/...}' => 's:.*/::; s:\.[^/.]+\.[^/.]+\.[^/.]+$::', + '{+..}' => 's:.*\.([^/.]*\.[^/.]*)$:$1: || s:.*$::', + '{+...}' => 's:.*\.([^/.]*\.[^/.]*\.[^/.]*)$:$1: || s:.*$::', + '{..}' => 's:\.[^/.]*\.[^/.]*$::', + '{...}' => 's:\.[^/.]*\.[^/.]*\.[^/.]*$::', + '{/..}' => 's:.*/::; s:\.[^/.]*\.[^/.]*$::', + '{/...}' => 's:.*/::; s:\.[^/.]*\.[^/.]*\.[^/.]*$::', # n choose k = Binomial coefficient '{choose_k}' => ('for $t (2..$#arg)'. '{ if($arg[$t-1] ge $arg[$t]) { skip() } }'), diff --git a/testsuite/tests-to-run/parallel-local-1s.sh b/testsuite/tests-to-run/parallel-local-1s.sh index c4e61738..a39a92ef 100644 --- a/testsuite/tests-to-run/parallel-local-1s.sh +++ b/testsuite/tests-to-run/parallel-local-1s.sh @@ -14,7 +14,10 @@ par_plus() { parallel -k --plus echo {} = {+/}/{/} = {.}.{+.} = {+/}/{/.}.{+.} = \ {..}.{+..} = {+/}/{/..}.{+..} = {...}.{+...} = \ {+/}/{/...}.{+...} \ - ::: a a.b a.b.c a.b.c.d a/1 a.b/1.2 a.b.c/1.2.3 a.b.c.d/1.2.3.4 + ::: a a.b a.b.c a.b.c.d a/1 a.b/1.2 a.b.c/1.2.3 a.b.c.d/1.2.3.4 \ + a. a.b. a.b.c. a.b.c.d. a/1. a.b/1.2. a.b.c/1.2.3. a.b.c.d/1.2.3.4. \ + a.. a.b.. a.b.c.. a.b.c.d.. a./1. a.b./1.2.. \ + a.b.c./1.2.3.. a.b.c.d./1.2.3.4.. \ echo '### Test {%...} {%%...} {#...} {##...}' a=z.z.z.foo diff --git a/testsuite/tests-to-run/sql02.sh b/testsuite/tests-to-run/sql02.sh index aba67a3e..5564ad60 100644 --- a/testsuite/tests-to-run/sql02.sh +++ b/testsuite/tests-to-run/sql02.sh @@ -43,7 +43,7 @@ par_influx() { echo INSERT cpu,host=serverA,region=us_west value=0.65; echo 'select * from cpu' ) | sql influx:///parallel - sql --show-tables influx:///parallel + sql --show-tables influx:///parallel | grep parallel; sql influx:///parallel 'SELECT * FROM cpu;' sql influx:///parallel 'SELECT "host", "region", "value" FROM "cpu"' sql --pretty influx:///parallel 'SELECT * FROM cpu;' diff --git a/testsuite/wanted-results/parallel-local-1s b/testsuite/wanted-results/parallel-local-1s index 3caad3c0..e5cf9481 100644 --- a/testsuite/wanted-results/parallel-local-1s +++ b/testsuite/wanted-results/parallel-local-1s @@ -442,6 +442,22 @@ par_plus a/1 = a/1 = a/1. = a/1. = a/1. = a/1. = a/1. = a/1. par_plus a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2 = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. par_plus a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3 = a.b.c/1.2.3. = a.b.c/1.2.3. par_plus a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 = a.b.c.d/1.2.3.4 +par_plus a. = /a. = a. = /a. = a.. = /a.. = a.. = /a.. +par_plus a.b. = /a.b. = a.b. = /a.b. = a.b. = /a.b. = a.b.. = /a.b.. +par_plus a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c. = a.b.c. = /a.b.c. +par_plus a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. = a.b.c.d. = /a.b.c.d. +par_plus a/1. = a/1. = a/1. = a/1. = a/1.. = a/1.. = a/1.. = a/1.. +par_plus a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2. = a.b/1.2.. = a.b/1.2.. +par_plus a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. = a.b.c/1.2.3. +par_plus a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. = a.b.c.d/1.2.3.4. +par_plus a.. = /a.. = a.. = /a.. = a.. = /a.. = a... = /a... +par_plus a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b.. = a.b.. = /a.b.. +par_plus a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. = a.b.c.. = /a.b.c.. +par_plus a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. = a.b.c.d.. = /a.b.c.d.. +par_plus a./1. = a./1. = a./1. = a./1. = a./1.. = a./1.. = a./1.. = a./1.. +par_plus a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. = a.b./1.2.. +par_plus a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. = a.b.c./1.2.3.. +par_plus a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. = a.b.c.d./1.2.3.4.. par_plus ### Test {%...} {%%...} {#...} {##...} par_plus z.foo par_plus z.foo diff --git a/testsuite/wanted-results/sql01 b/testsuite/wanted-results/sql01 index b1d84d1c..05bf56f6 100644 --- a/testsuite/wanted-results/sql01 +++ b/testsuite/wanted-results/sql01 @@ -42,8 +42,8 @@ def 3 6 6 ### Test --table-size --tablesize -82 -82 +90 +90 ### Test --debug dburl mysql://tange:tange@localhost:3306/tange databasedriver mysql user tange password tange host localhost port 3306 database tange query diff --git a/testsuite/wanted-results/sql02 b/testsuite/wanted-results/sql02 index 053300f0..9ddc7ccb 100644 --- a/testsuite/wanted-results/sql02 +++ b/testsuite/wanted-results/sql02 @@ -9,16 +9,13 @@ par_influx name par_influx ---- par_influx _internal par_influx mydb +par_influx myinflux par_influx parallel par_influx name: cpu par_influx time host region value par_influx ---- ---- ------ ----- par_influx 0000000000000000000 serverA us_west 0.00 par_influx 0000000000000000000 serverA us_west 0.00 -par_influx name: measurements -par_influx name -par_influx ---- -par_influx cpu par_influx name: cpu par_influx time host region value par_influx ---- ---- ------ -----