From 565a6dec9616fd7ee3777fcf8d581b63d5af729a Mon Sep 17 00:00:00 2001 From: Roger Davis Date: Sat, 2 Mar 2024 09:52:29 -1000 Subject: [PATCH 1/7] Batch #11 of longoptions test scripts. (#8368) --- test/pslegend/pslegend-l2s.sh | 36 ++++++++++++ test/psternary/psternary-l2s.sh | 72 +++++++++++++++++++++++ test/pstext/pstext-l2s.sh | 48 +++++++++++++++ test/psxyz/psxyz-l2s.sh | 52 ++++++++++++++++ test/sample1d/sample1d-l2s.sh | 38 ++++++++++++ test/spectrum1d/spectrum1d-l2s.sh | 32 ++++++++++ test/sph2grd/sph2grd-l2s.sh | 34 +++++++++++ test/sphtriangulate/sphtriangulate-l2s.sh | 30 ++++++++++ 8 files changed, 342 insertions(+) create mode 100755 test/pslegend/pslegend-l2s.sh create mode 100755 test/psternary/psternary-l2s.sh create mode 100755 test/pstext/pstext-l2s.sh create mode 100755 test/psxyz/psxyz-l2s.sh create mode 100755 test/sample1d/sample1d-l2s.sh create mode 100755 test/spectrum1d/spectrum1d-l2s.sh create mode 100755 test/sph2grd/sph2grd-l2s.sh create mode 100755 test/sphtriangulate/sphtriangulate-l2s.sh diff --git a/test/pslegend/pslegend-l2s.sh b/test/pslegend/pslegend-l2s.sh new file mode 100755 index 00000000000..88185e88dcd --- /dev/null +++ b/test/pslegend/pslegend-l2s.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +# +# Test pslegend longopts translation. + +m=pslegend +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -C1/2 +--l2stranstest -D10/20/2/3 -Dg1/-0.5+w7 +--l2stranstest -DjBR+jLT+l2 +--l2stranstest -DJBR+o1/2 +--l2stranstest -Dn0/0 -Dx5/5 +--l2stranstest -F+c10+gred+i4p/black +--l2stranstest -F+p2p+r1p+s1/2/gray +--l2stranstest -Mh -Me +--l2stranstest -S4 +--l2stranstest -T/my/secrets -T/your/secrets +EOF + +# module-specific longopts +gmt $m $l2s --clearance=1/2 >> $b +gmt $m $l2s --position=10/20/2/3 --position=mapcoords:1/-0.5+width:7 >> $b +gmt $m $l2s --position=inside:BR+janchor:LT+spacing:2 >> $b +gmt $m $l2s --position=outside:BR+anchoroffset:1/2 >> $b +gmt $m $l2s --position=boxcoords:0/0 --position=plotcoords:5/5 >> $b +gmt $m $l2s --box+clearance:10+fill:red+inner:4p/black >> $b +gmt $m $l2s --box+pen:2p+radius:1p+shade:1/2/gray >> $b +gmt $m $l2s --source=hidden --source=explicit >> $b +gmt $m $l2s --scale=4 >> $b +gmt $m $l2s --hidden_file=/my/secrets --leg_file=/your/secrets >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/psternary/psternary-l2s.sh b/test/psternary/psternary-l2s.sh new file mode 100755 index 00000000000..77d3705fe21 --- /dev/null +++ b/test/psternary/psternary-l2s.sh @@ -0,0 +1,72 @@ +#!/usr/bin/env bash +# +# Test psternary longopts translation. + +m=psternary +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -C/some/file -C/some/other/file -Jz1i +--l2stranstest -Gred -Gp25+bgreen+fgray -Jz1i +--l2stranstest -GP3+bwhite+fred+r300 -Jz1i +--l2stranstest -L1/2/3 -L4/-/- -Jz1i +--l2stranstest -N -N -Jz1i +--l2stranstest -S-1 -S+2 -Sa3 -Jz1i +--l2stranstest -SA4 -Sc5 -Jz1i +--l2stranstest -SC6 -Sd7 -Jz1i +--l2stranstest -SD8 -Se1/2/3 -Jz1i +--l2stranstest -Sg4 -SG5 -Jz1i +--l2stranstest -Sh6 -SH7 -Jz1i +--l2stranstest -Si8 -Si9 -Jz1i +--l2stranstest -SI1 -Sj1/2/3 -Jz1i +--l2stranstest -Sj4/5/6 -SkSomething/20 -Jz1i +--l2stranstest -Sl4+tMyText+fHelv+jCM -Jz1i +--l2stranstest -Sn1 -SN2 -Jz1i +--l2stranstest -Sp3 -Sr4/5 -Jz1i +--l2stranstest -Sr+s -Jz1i +--l2stranstest -SR1/2/3 -SR4/5/6 -Jz1i +--l2stranstest -Ss7 -SS8 -Jz1i +--l2stranstest -St9 -ST1 -Jz1i +--l2stranstest -Sw1/2/3 -Sw+i4 -Jz1i +--l2stranstest -Sw+a5 -Sw+r10+p2p,red -Jz1i +--l2stranstest -Sx -Sy -Jz1i +--l2stranstest -W1p,blue,solid -Jz1i +EOF + +# module-specific longopts +# +# psternary pre-scans its options array prior to longoption translation +# and will append -Jz1i if it does not see -M, meaning that we cannot +# offer any longoption equivalent for -M (e.g., --dump) or this pre-scan +# will fail to locate that equivalent and incorrectly append -Jz1i +#gmt $m $l2s --dump >> $b +gmt $m $l2s --cpt=/some/file --cmap=/some/other/file >> $b +gmt $m $l2s --fill=red --fill=bit:25+bg:green+foreground:gray >> $b +gmt $m $l2s --fill=bitreverse:3+background:white+fg:red+dpi:300 >> $b +gmt $m $l2s --labels=1/2/3 --vertex_labels=4/-/- >> $b +gmt $m $l2s --noclip --no_clip >> $b +gmt $m $l2s --symbol=xdash:1 --style=plus:2 --symbol=star:3 >> $b +gmt $m $l2s --symbol=star_area:4 --symbol=circle:5 >> $b +gmt $m $l2s --symbol=circle_area:6 --symbol=diamond:7 >> $b +gmt $m $l2s --symbol=diamond_area:8 --symbol=ellipse:1/2/3 >> $b +gmt $m $l2s --symbol=octagon:4 --symbol=octagon_area:5 >> $b +gmt $m $l2s --symbol=hexagon:6 --symbol=hexagon_area:7 >> $b +gmt $m $l2s --symbol=invtriangle:8 --symbol=inverted_tri:9 >> $b +gmt $m $l2s --symbol=invtriangle_area:1 --symbol=rotrectangle:1/2/3 >> $b +gmt $m $l2s --symbol=rotated_rec:4/5/6 --symbol=custom:Something/20 >> $b +gmt $m $l2s --symbol=letter:4+text:MyText+font:Helv+justify:CM >> $b +gmt $m $l2s --symbol=pentagon:1 --symbol=pentagon_area:2 >> $b +gmt $m $l2s --symbol=point:3 --symbol=rectangle:4/5 >> $b +gmt $m $l2s --symbol=rectangle+corners >> $b +gmt $m $l2s --symbol=roundrectangle:1/2/3 --symbol=roundrect:4/5/6 >> $b +gmt $m $l2s --symbol=square:7 --symbol=square_area:8 >> $b +gmt $m $l2s --symbol=triangle:9 --symbol=triangle_area:1 >> $b +gmt $m $l2s --symbol=wedge:1/2/3 --symbol=wedge+inner:4 >> $b +gmt $m $l2s --symbol=wedge+arc:5 --symbol=wedge+radial:10+pen:2p,red >> $b +gmt $m $l2s --symbol=cross --symbol=ydash >> $b +gmt $m $l2s --pen=1p,blue,solid >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/pstext/pstext-l2s.sh b/test/pstext/pstext-l2s.sh new file mode 100755 index 00000000000..83c60a96070 --- /dev/null +++ b/test/pstext/pstext-l2s.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# +# Test pstext longopts translation. + +m=pstext +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -A +--l2stranstest -C5/10+to +--l2stranstest -Dj1/2+v2p,red -DJ +--l2stranstest -F+a10 -F+A20 +--l2stranstest -F+A30+cTL+f12,Helvetica,red +--l2stranstest -F+cCM+h+jTL +--l2stranstest -F+l -F+r -F+r10 +--l2stranstest -F+tblab -F+z%4.2f -F+z +--l2stranstest -Gred+n -Ggreen+n +--l2stranstest -L -L +--l2stranstest -M +--l2stranstest -N -N +--l2stranstest -Ql -Qu +--l2stranstest -S20/30/blue +--l2stranstest -Z -Z +--l2stranstest -W1p,blue,solid +EOF + +# module-specific longopts +gmt $m $l2s --azimuth >> $b +gmt $m $l2s --clearance=5/10+textbox:o >> $b +gmt $m $l2s --offset=away:1/2+line:2p,red --offset=corners >> $b +gmt $m $l2s --attributes+angle:10 --attrib+zerocenter:20 >> $b +gmt $m $l2s --attrib+Angle:30+rjustify:TL+font:12,Helvetica,red >> $b +gmt $m $l2s --attrib+region_justify:CM+header+justify:TL >> $b +gmt $m $l2s --attrib+label --attrib+record --attrib+rec_number:10 >> $b +gmt $m $l2s --attrib+text:blab --attrib+zformat:'%4.2f' --attrib+zvalues >> $b +gmt $m $l2s --fill=red+no_text --fill=green+C >> $b +gmt $m $l2s --listfonts --list >> $b +gmt $m $l2s --paragraph >> $b +gmt $m $l2s --noclip --no_clip >> $b +gmt $m $l2s --case=lower --change_case=upper >> $b +gmt $m $l2s --shade=20/30/blue >> $b +gmt $m $l2s --zvalues --threeD >> $b +gmt $m $l2s --pen=1p,blue,solid >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/psxyz/psxyz-l2s.sh b/test/psxyz/psxyz-l2s.sh new file mode 100755 index 00000000000..d857ba6b663 --- /dev/null +++ b/test/psxyz/psxyz-l2s.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# +# Test psxyz longopts translation. + +m=psxyz +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -Am -Ap +--l2stranstest -Ax -Ay +--l2stranstest -Ar -At +--l2stranstest -Csomecpt -Cred,green,blue +--l2stranstest -C#22aa33,#ff00ff,#0077ee +--l2stranstest -D -D12/24 +--l2stranstest -Gred+z +--l2stranstest -H5 +--l2stranstest -I0.2 -I-0.8 +--l2stranstest -L+b+xl+yb+p1p,blue +--l2stranstest -L+d+xr+yt +--l2stranstest -L+D+x6+y7 +--l2stranstest -Nc -Nr +--l2stranstest -Q -Q +--l2stranstest -W2p,red+cl+o1p -W1p+s +--l2stranstest -W2p+v -W2p+z +--l2stranstest -Z99+t +--l2stranstest -Z/my/polygon/file.txt+T +EOF + +# module-specific longopts +gmt $m $l2s --straightlines=mpfollow --straight_lines=pmfollow >> $b +gmt $m $l2s --straight_line=xyalong --straightlines=yxalong >> $b +gmt $m $l2s --straightlines=rtalong --straightlines=tralong >> $b +gmt $m $l2s --cpt=somecpt --cmap=red,green,blue >> $b +gmt $m $l2s --cpt=#22aa33,#ff00ff,#0077ee >> $b +gmt $m $l2s --offset --offset=12/24 >> $b +gmt $m $l2s --fill=red+zvalue >> $b +gmt $m $l2s --scale=5 >> $b +gmt $m $l2s --intensity=0.2 --intens=-0.8 >> $b +gmt $m $l2s --polygon+bounds+xanchor:l+yanchor:b+pen:1p,blue >> $b +gmt $m $l2s --close+symdev+xanchor:r+yanchor:t >> $b +gmt $m $l2s --closed_polygon+asymdev+xanchor:6+yanchor:7 >> $b +gmt $m $l2s --noclip=clipnorepeat --no_clip=repeatnoclip >> $b +gmt $m $l2s --nosort --no_sort >> $b +gmt $m $l2s --pen=2p,red+color:l+offset:1p --pen=1p+spline >> $b +gmt $m $l2s --pen=2p+vector --pen=2p+zvalues >> $b +gmt $m $l2s --zvalue=99+transparency >> $b +gmt $m $l2s --level=/my/polygon/file.txt+twocols >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/sample1d/sample1d-l2s.sh b/test/sample1d/sample1d-l2s.sh new file mode 100755 index 00000000000..e638c12449f --- /dev/null +++ b/test/sample1d/sample1d-l2s.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# +# Test sample1d longopts translation. + +m=sample1d +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -Af -Ap -Am +--l2stranstest -Ar+l -AR+d +--l2stranstest -Csomecpt+h2+uin+s/some/file +--l2stranstest -C+Uin+i5 +--l2stranstest -E +--l2stranstest -Fl -Fe -Fa+d1 +--l2stranstest -Fc -Fs -Fn +--l2stranstest -N1 -N2 -N3 +--l2stranstest -T100/200/10+i -T10+n -T/some/file +--l2stranstest -T10/20/1+a+u +--l2stranstest -W1 +EOF + +# module-specific longopts +gmt $m $l2s --resample=keeporig --resample=pmfollow --resample=mpfollow >> $b +gmt $m $l2s --resample=equidistant+rhumb --resample=exactfit+delete >> $b +gmt $m $l2s --cpt=somecpt+hinge:2+fromunit:in+file:/some/file >> $b +gmt $m $l2s --cmap+tounit:in+zinc:5 >> $b +gmt $m $l2s --keeptext >> $b +gmt $m $l2s --interptype=linear --interp=step --interp=akima+derivative:1 >> $b +gmt $m $l2s --interptype=cubic --interptype=smooth --interptype=none >> $b +gmt $m $l2s --time_column=1 --time_col=2 --timecol=3 >> $b +gmt $m $l2s --inc=100/200/10+inverse --inc=10+numcoords --range=/some/file >> $b +gmt $m $l2s --inc=10/20/1+paste+unique >> $b +gmt $m $l2s --weights=1 >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/spectrum1d/spectrum1d-l2s.sh b/test/spectrum1d/spectrum1d-l2s.sh new file mode 100755 index 00000000000..92a22367edf --- /dev/null +++ b/test/spectrum1d/spectrum1d-l2s.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# +# Test spectrum1d longopts translation. + +m=spectrum1d +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -Cacg +--l2stranstest -Cnopxy +--l2stranstest -D0.1 -D5 +--l2stranstest -Lh -Lm +--l2stranstest -Nyoda +--l2stranstest -S64 +--l2stranstest -T +--l2stranstest -W +EOF + +# module-specific longopts +gmt $m $l2s --outputs=admittance,coherent,gain >> $b +gmt $m $l2s --outputs=noise,sqcoherency,phase,x,y >> $b +gmt $m $l2s --spacing=0.1 --sample_dist=5 >> $b +gmt $m $l2s --leave_trend=remove_mid --leave_trend=remove_mean >> $b +gmt $m $l2s --name=yoda >> $b +gmt $m $l2s --size=64 >> $b +gmt $m $l2s --multifile >> $b +gmt $m $l2s --wavelength >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/sph2grd/sph2grd-l2s.sh b/test/sph2grd/sph2grd-l2s.sh new file mode 100755 index 00000000000..8fa59bbd514 --- /dev/null +++ b/test/sph2grd/sph2grd-l2s.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# +# Test sph2grd longopts translation. + +m=sph2grd +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -Dg -Dn +--l2stranstest -E +--l2stranstest -F-/-/50/75 -Fk1/2/3/4 +--l2stranstest -Fk1/2/3/4 +--l2stranstest -G/some/file.grd=nf+d2+n-99 +--l2stranstest -G/other/file.grd=nf+o6+s1.5 +--l2stranstest -I5+e/10 -I2 -I1/2+n +--l2stranstest -Ng -Nm -Ns +--l2stranstest -Q +EOF + +# module-specific longopts +gmt $m $l2s --derive=gravity --derive=geoid >> $b +gmt $m $l2s --ellipsoid >> $b +gmt $m $l2s --filter=-/-/50/75 --filter=km:1/2/3/4 >> $b +gmt $m $l2s --filter=kilometers:1/2/3/4 >> $b +gmt $m $l2s --outgrid=/some/file.grd=nf+divide:2+nan:-99 >> $b +gmt $m $l2s --outgrid=/other/file.grd=nf+offset:6+scale:1.5 >> $b +gmt $m $l2s --increment=5+exact/10 --spacing=2 --inc=1/2+number >> $b +gmt $m $l2s --normalize=geodesy --normalize=math --normalize=schmidt >> $b +gmt $m $l2s --phaseconv >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/sphtriangulate/sphtriangulate-l2s.sh b/test/sphtriangulate/sphtriangulate-l2s.sh new file mode 100755 index 00000000000..1f9cfb3d473 --- /dev/null +++ b/test/sphtriangulate/sphtriangulate-l2s.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# +# Test sphtriangulate longopts translation. + +m=sphtriangulate +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -A +--l2stranstest -C -C +--l2stranstest -D +--l2stranstest -Ld +--l2stranstest -N/my/nodes +--l2stranstest -Qd -Qv +--l2stranstest -T +EOF + +# module-specific longopts +gmt $m $l2s --area >> $b +gmt $m $l2s --save_mem --single_form >> $b +gmt $m $l2s --skipdup >> $b +gmt $m $l2s --unit=d >> $b +gmt $m $l2s --nodes=/my/nodes >> $b +gmt $m $l2s --output=delaunay --output=voronoi >> $b +gmt $m $l2s --arcs >> $b + +diff $a $b --strip-trailing-cr > fail From a45d26cb3b879030d8faefbbe9ec2a05c6776384 Mon Sep 17 00:00:00 2001 From: Roger Davis Date: Sat, 2 Mar 2024 10:15:02 -1000 Subject: [PATCH 2/7] Add longoptions support for sphinterpolate. (#8361) * Add longoptions support for sphinterpolate. * Update sphinterpolate_inc.h --------- Co-authored-by: Joaquim --- src/longopt/sphinterpolate_inc.h | 29 +++++++---------------------- 1 file changed, 7 insertions(+), 22 deletions(-) diff --git a/src/longopt/sphinterpolate_inc.h b/src/longopt/sphinterpolate_inc.h index a81d117911d..386f00ddd8b 100644 --- a/src/longopt/sphinterpolate_inc.h +++ b/src/longopt/sphinterpolate_inc.h @@ -25,30 +25,15 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'D', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'G', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'I', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'Q', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'T', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'Z', "", - "", "", + { 0, 'D', "skipdup", "", "", "", "", GMT_TP_STANDARD }, + GMT_G_OUTGRID_KW, + GMT_I_INCREMENT_KW, + { 0, 'Q', "tension", + "g,l,p,s", "global,local,piecewise,smooth", "", "", GMT_TP_STANDARD }, + { 0, 'T', "vartension|var_tension", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'Z', "scale", "", "", "", "", GMT_TP_STANDARD }, { 0, '\0', "", "", "", "", "", 0 } /* End of list marked with empty option and strings */ }; #endif /* !SPHINTERPOLATE_INC_H */ From 30470369cb72f91c52d607ada2912592d32de190 Mon Sep 17 00:00:00 2001 From: Roger Davis Date: Sat, 2 Mar 2024 13:45:20 -1000 Subject: [PATCH 3/7] Add longoptions support for greenspline. (#8277) * Add longoptions support for greenspline. * Update greenspline_inc.h * Update greenspline_inc.h * Update greenspline_inc.h * Update greenspline_inc.h --------- Co-authored-by: Joaquim --- src/longopt/greenspline_inc.h | 67 ++++++++++++----------------------- 1 file changed, 23 insertions(+), 44 deletions(-) diff --git a/src/longopt/greenspline_inc.h b/src/longopt/greenspline_inc.h index 90271ed4a14..184660b9c51 100644 --- a/src/longopt/greenspline_inc.h +++ b/src/longopt/greenspline_inc.h @@ -25,62 +25,41 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'A', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'C', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'D', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'E', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'G', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'I', "", - "", "", + { 0, 'A', "gradient", "", "", + "f", "format", GMT_TP_STANDARD }, - { 0, 'L', "", - "", "", - "", "", + { 0, 'C', "approx_fit|approximate", + "n,r,v", "largest,ratio,variance", + "c,f,i,n", "cumulative,file,incremental,no_surface", GMT_TP_STANDARD }, - { 0, 'M', "", - "", "", + { 0, 'D', "metadata|mode", "", "", + "c,d,n,o,r,s,t,v,x,y,z", + "cpt|cmap,dname,invalid,offset,remark,scale,title,varname,xname,yname,zname", GMT_TP_STANDARD }, - { 0, 'N', "", - "", "", + { 0, 'E', "misfit", "", "", + "r", "report", GMT_TP_STANDARD }, - { 0, 'Q', "", - "", "", + GMT_G_OUTGRID_KW, + { 0, 'I', "inc|increment|spacing", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'L', "detrend|leave_trend", + "t,r", "leastsquares,residuals", "", "", GMT_TP_STANDARD }, - { 0, 'S', "", - "", "", - "", "", + { 0, 'N', "nodes", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'Q', "derivative|dir_derivative|vector", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'S', "splines", + "c,l,p,q,r,t", "min_scurvature,linear,min_pcurvature,ctensionA,rtension,ctensionB", + "e,n", "error,npoints", GMT_TP_STANDARD }, - { 0, 'T', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'W', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'Z', "", - "", "", + { 0, 'T', "maskgrid|mask", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'W', "uncertainties", + "w", "weights", "", "", GMT_TP_STANDARD }, + { 0, 'Z', "distmode|mode", "", "", "", "", GMT_TP_STANDARD }, { 0, '\0', "", "", "", "", "", 0 } /* End of list marked with empty option and strings */ }; #endif /* !GREENSPLINE_INC_H */ From d0e1e7c19e04a195b52572317c54e8dbe001abb9 Mon Sep 17 00:00:00 2001 From: Roger Davis Date: Sat, 2 Mar 2024 13:57:17 -1000 Subject: [PATCH 4/7] Add longoptions support for sphdistance. (#8360) * Add longoptions support for sphdistance. * Update sphdistance_inc.h --------- Co-authored-by: Joaquim --- src/longopt/sphdistance_inc.h | 43 ++++++++--------------------------- 1 file changed, 9 insertions(+), 34 deletions(-) diff --git a/src/longopt/sphdistance_inc.h b/src/longopt/sphdistance_inc.h index 34422463aa5..1237a664cd6 100644 --- a/src/longopt/sphdistance_inc.h +++ b/src/longopt/sphdistance_inc.h @@ -25,42 +25,17 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'A', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'C', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'D', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'E', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'G', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'I', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'L', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'N', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'Q', "", - "", "", + { 0, 'C', "save_mem|single_form", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'D', "duplicates|skipdup", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'E', "quantity", + "d,n,z", "distance,polygon,zvalue", "", "", GMT_TP_STANDARD }, + GMT_G_OUTGRID_KW, + GMT_I_INCREMENT_KW, + { 0, 'L', "unit|dist_unit", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'N', "nodes|node_table", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'Q', "voronoi", "", "", "", "", GMT_TP_STANDARD }, { 0, '\0', "", "", "", "", "", 0 } /* End of list marked with empty option and strings */ }; #endif /* !SPHDISTANCE_INC_H */ From 04f99d2d0de2ecd40d7ba1810d900528af31e724 Mon Sep 17 00:00:00 2001 From: Roger Davis Date: Sat, 2 Mar 2024 14:18:59 -1000 Subject: [PATCH 5/7] Enable longoptions support for grdcut. (#8198) * Enable longoptions support for grdcut. * Update grdcut_inc.h * Update grdcut_inc.h * Update grdcut_inc.h --------- Co-authored-by: Joaquim --- src/longopt/grdcut_inc.h | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/longopt/grdcut_inc.h b/src/longopt/grdcut_inc.h index a653535dd8e..ba3fe0b814c 100644 --- a/src/longopt/grdcut_inc.h +++ b/src/longopt/grdcut_inc.h @@ -25,29 +25,27 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'D', "", - "", "", - "", "", - GMT_TP_STANDARD }, - { 0, 'F', "", - "", "", + { 0, 'D', "dryrun", "", "", + "t", "trailer", GMT_TP_STANDARD }, - { 0, 'G', "", - "", "", + { 0, 'E', "extract|colslice|rowslice", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, - { 0, 'N', "", - "", "", + { 0, 'F', "clip", "", "", + "c,i", "crop,invert", GMT_TP_STANDARD }, - { 0, 'S', "", - "", "", + GMT_G_OUTGRID_KW, + { 0, 'N', "extend", "", "", "", "", GMT_TP_STANDARD }, + { 0, 'S', "circ_subregion", "", "", + "n", "set_nan", GMT_TP_STANDARD }, - { 0, 'Z', "", - "", "", + { 0, 'Z', "zrange", "", "", + "n,N,r", "exclude_nan,include_nan,strip_nan_rowcols", GMT_TP_STANDARD }, { 0, '\0', "", "", "", "", "", 0 } /* End of list marked with empty option and strings */ }; From 1ba26b3f459b312445e54f7318484788f30557eb Mon Sep 17 00:00:00 2001 From: Federico Esteban Date: Sat, 2 Mar 2024 21:27:19 -0300 Subject: [PATCH 6/7] Update greenspline.rst (#8132) Fix typo in yesterday PR #8129 Co-authored-by: Joaquim --- doc/rst/source/greenspline.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/rst/source/greenspline.rst b/doc/rst/source/greenspline.rst index d0ce186ab13..ead84e5a121 100644 --- a/doc/rst/source/greenspline.rst +++ b/doc/rst/source/greenspline.rst @@ -14,7 +14,7 @@ Synopsis **gmt greenspline** [ *table* ] |-G|\ *grdfile* -[ |-A|\ *gradfile*\ **+f**\|\ **0**\|\ **1**\|\ **2**\|\ **3**\|\ **4**\|\ **5** ] +[ |-A|\ *gradfile*\ **+f**\ **0**\|\ **1**\|\ **2**\|\ **3**\|\ **4**\|\ **5** ] [ |-C|\ [[**n**\|\ **r**\|\ **v**]\ *value*\ [%]][**+c**][**+f**\ *file*][**+i**][**+n**] ] [ |SYN_OPT-D3| ] [ |-E|\ [*misfitfile*][**+r**\ *reportfile*] ] @@ -131,7 +131,7 @@ Optional Arguments .. _-A: -**-A**\ *gradfile*\ **+f**\|\ **0**\|\ **1**\|\ **2**\|\ **3**\|\ **4**\|\ **5** +**-A**\ *gradfile*\ **+f**\ **0**\|\ **1**\|\ **2**\|\ **3**\|\ **4**\|\ **5** The solution will partly be constrained by surface gradients :math:`\mathbf{v} = v \hat{\mathbf{n}}`, where :math:`v` is the gradient magnitude and :math:`\hat{\mathbf{n}}` its unit vector direction. From c8894814959e5f74ec22d6fc3df9f5a06ed1dbe8 Mon Sep 17 00:00:00 2001 From: Roger Davis Date: Sat, 2 Mar 2024 14:29:47 -1000 Subject: [PATCH 7/7] Batch #13 of longoptions test scripts. (#8384) * WIP Batch #13 of longoptions test scripts. * Update psconvert-l2s.sh * Update triangulate-l2s.sh * Update grdfft-l2s.sh * Update sphinterpolate-l2s.sh * Update greenspline-l2s.sh * Update greenspline-l2s.sh --------- Co-authored-by: Paul Wessel Co-authored-by: Joaquim --- test/grdcut/grdcut-l2s.sh | 36 +++++++++++++ test/grdfft/grdfft-l2s.sh | 48 ++++++++++++++++++ test/greenspline/greenspline-l2s.sh | 56 ++++++++++++++++++++ test/pscontour/pscontour-l2s.sh | 60 ++++++++++++++++++++++ test/psconvert/psconvert-l2s.sh | 62 +++++++++++++++++++++++ test/sphdistance/sphdistance-l2s.sh | 34 +++++++++++++ test/sphinterpolate/sphinterpolate-l2s.sh | 32 ++++++++++++ test/triangulate/triangulate-l2s.sh | 44 ++++++++++++++++ 8 files changed, 372 insertions(+) create mode 100755 test/grdcut/grdcut-l2s.sh create mode 100755 test/grdfft/grdfft-l2s.sh create mode 100755 test/greenspline/greenspline-l2s.sh create mode 100755 test/pscontour/pscontour-l2s.sh create mode 100755 test/psconvert/psconvert-l2s.sh create mode 100755 test/sphdistance/sphdistance-l2s.sh create mode 100755 test/sphinterpolate/sphinterpolate-l2s.sh create mode 100755 test/triangulate/triangulate-l2s.sh diff --git a/test/grdcut/grdcut-l2s.sh b/test/grdcut/grdcut-l2s.sh new file mode 100755 index 00000000000..f6d1925190f --- /dev/null +++ b/test/grdcut/grdcut-l2s.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +# +# Test grdcut longopts translation. + +m=grdcut +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -D+t +--l2stranstest -Ex50 -Ey10 +--l2stranstest -F+i+c +--l2stranstest -G/some/file.grd=nf+d2+n-99 +--l2stranstest -G/other/file.grd=nf+o6+s1.5 +--l2stranstest -N-999 +--l2stranstest -S100/20/5+n +--l2stranstest -Z1000/2000+n +--l2stranstest -Z1000/2000+N +--l2stranstest -Z1000/2000+r +EOF + +# module-specific longopts +gmt $m $l2s --dryrun+trailer >> $b +gmt $m $l2s --extract=x:50 --extract=y:10 >> $b +gmt $m $l2s --clip+invert+crop >> $b +gmt $m $l2s --outgrid=/some/file.grd=nf+divide:2+nan:-99 >> $b +gmt $m $l2s --outgrid=/other/file.grd=nf+offset:6+scale:1.5 >> $b +gmt $m $l2s --extend=-999 >> $b +gmt $m $l2s --circ_subregion=100/20/5+set_nan >> $b +gmt $m $l2s --zrange=1000/2000+exclude_nan >> $b +gmt $m $l2s --zrange=1000/2000+include_nan >> $b +gmt $m $l2s --zrange=1000/2000+strip_nan_rowcols >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/grdfft/grdfft-l2s.sh b/test/grdfft/grdfft-l2s.sh new file mode 100755 index 00000000000..e329624d9d4 --- /dev/null +++ b/test/grdfft/grdfft-l2s.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# +# Test grdfft longopts translation. + +m=grdfft +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -A90 -A10 +--l2stranstest -C12 -C-8 +--l2stranstest -D5 -D +--l2stranstest -Er+n +--l2stranstest -Ex+wk -Ey +--l2stranstest -Fr1/2/3/4 -Fx10/20 -Fy4/8/1 +--l2stranstest -G/some/file.grd=nf+d2+n-99 +--l2stranstest -G/other/file.grd=nf+o6+s1.5 +--l2stranstest -I4 -Ig +--l2stranstest -N10/20+d -Na+a +--l2stranstest -Nf+a+e +--l2stranstest -Nm+h+m +--l2stranstest -Nr+l+n +--l2stranstest -Ns+v+wfft+z +--l2stranstest -Q +--l2stranstest -S5 -Sd +EOF + +# module-specific longopts +gmt $m $l2s --azimuth=90 --azim=10 >> $b +gmt $m $l2s --upward=12 --upward=-8 >> $b +gmt $m $l2s --differentiate=5 --dfdz >> $b +gmt $m $l2s --power_spectrum=radial+normalize >> $b +gmt $m $l2s --power_spectrum=x+wavelength:k --power_spectrum=y >> $b +gmt $m $l2s --filter=isotropic:1/2/3/4 --filter=x:10/20 --filter=y:4/8/1 >> $b +gmt $m $l2s --outgrid=/some/file.grd=nf+divide:2+nan:-99 >> $b +gmt $m $l2s --outgrid=/other/file.grd=nf+offset:6+scale:1.5 >> $b +gmt $m $l2s --integrate=4 --integrate=gravity >> $b +gmt $m $l2s --dimensions=10/20+detrend --inquire=accurate+remove_mean >> $b +gmt $m $l2s --dimensions=actual+remove_mean+edge_point >> $b +gmt $m $l2s --dimensions=low_memory+remove_mid+edge_mirror >> $b +gmt $m $l2s --dimensions=rapid+leave_alone+no_extend >> $b +gmt $m $l2s --dimensions=show+verbose+suffix:fft+complex >> $b +gmt $m $l2s --no_wavenum_ops >> $b +gmt $m $l2s --scale=5 --scale=deflection >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/greenspline/greenspline-l2s.sh b/test/greenspline/greenspline-l2s.sh new file mode 100755 index 00000000000..4dcb60ffc10 --- /dev/null +++ b/test/greenspline/greenspline-l2s.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +# +# Test greenspline longopts translation. + +m=greenspline +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -A/some/file+f0 +--l2stranstest -Cn10+c+f/some/file +--l2stranstest -Cr6+i +--l2stranstest -Cv0.5+n +--l2stranstest -D+cmycpt -D+cmycpt +--l2stranstest -D+dbaddata+n-999+o5 +--l2stranstest -D"+rsilly comment+s2+tBig News" +--l2stranstest -D+vDataset+xMrX+yMsY+zZeebo +--l2stranstest -E/some/file+r/report/file +--l2stranstest -G/some/file.grd +--l2stranstest -I4 -I2/3 -I1/2/3 +--l2stranstest -L -Lt -Lr +--l2stranstest -N/node/file +--l2stranstest -Q -Q12 -Q4/5/6 +--l2stranstest -Sc -Sl+e0.1 +--l2stranstest -Sp -Sq200+n20 +--l2stranstest -Sr200/10 -St500/3 +--l2stranstest -T/this/mask.grd -T/that/mask.grd +--l2stranstest -W -Ww +--l2stranstest -Z3 -Z5 +EOF + +# module-specific longopts +gmt $m $l2s --gradient=/some/file+format:0 >> $b +gmt $m $l2s --approx_fit=largest:10+cumulative+file:/some/file >> $b +gmt $m $l2s --approx_fit=ratio:6+incremental >> $b +gmt $m $l2s --approximate=variance:0.5+no_surface >> $b +gmt $m $l2s --metadata+cpt:mycpt --ncdata+cmap:mycpt >> $b +gmt $m $l2s --metadata+dname:baddata+invalid:-999+offset:5 >> $b +gmt $m $l2s --metadata+remark:'silly comment'+scale:2+title:'Big News' >> $b +gmt $m $l2s --metadata+varname:Dataset+xname:MrX+yname:MsY+zname:Zeebo >> $b +gmt $m $l2s --misfit=/some/file+report:/report/file >> $b +gmt $m $l2s --outgrid=/some/file.grd >> $b +gmt $m $l2s --inc=4 --increment=2/3 --spacing=1/2/3 >> $b +gmt $m $l2s --leave_trend --detrend=leastsquares --detrend=residuals >> $b +gmt $m $l2s --nodes=/node/file >> $b +gmt $m $l2s --derivative --dir_derivative=12 --vector=4/5/6 >> $b +gmt $m $l2s --splines=min_scurvature --splines=linear+error:0.1 >> $b +gmt $m $l2s --splines=min_pcurvature --splines=ctensionA:200+npoints:20 >> $b +gmt $m $l2s --splines=rtension:200/10 --splines=ctensionB:500/3 >> $b +gmt $m $l2s --maskgrid=/this/mask.grd --mask=/that/mask.grd >> $b +gmt $m $l2s --uncertainties --uncertainties=weights >> $b +gmt $m $l2s --distmode=3 --mode=5 >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/pscontour/pscontour-l2s.sh b/test/pscontour/pscontour-l2s.sh new file mode 100755 index 00000000000..a514db73fbb --- /dev/null +++ b/test/pscontour/pscontour-l2s.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash +# +# Test pscontour longopts translation. + +m=pscontour +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -An -A1+an+c1/2+d +--l2stranstest -A5+e+fHelvetica+gred+i +--l2stranstest -A2+jRT+n0.1/0.2+o +--l2stranstest -A1+p1p,blue+r2+t/some/file +--l2stranstest -A2+uz+v+w3 +--l2stranstest -A3+xf,l+=MeFirst +--l2stranstest -C/some/nice.cpt -C/contour/file +--l2stranstest -C100 +--l2stranstest -D +--l2stranstest -E/index/file+b +--l2stranstest -Gd5 -GD50 +--l2stranstest -Gf/some/file -GlLB +--l2stranstest -GLRT +--l2stranstest -Gn20 -GN10 +--l2stranstest -Gx/this/sfile -GX/that/cfile +--l2stranstest -I +--l2stranstest -L2p -L3p,black +--l2stranstest -N -N +--l2stranstest -Q25c -Q100+z -Q10 +--l2stranstest -Sp -St +--l2stranstest -Th+a -T"l+d12/5+lsome lbls" +--l2stranstest -Wa2p+cl -Wc1p +EOF + +# module-specific longopts +gmt $m $l2s --annotation=none --annot=1+angle:n+clearance:1/2+debug >> $b +gmt $m $l2s --annot=5+delay+font:Helvetica+fill:red+nolines >> $b +gmt $m $l2s --annot=2+justify:RT+nudge:0.1/0.2+rounded >> $b +gmt $m $l2s --annot=1+pen:1p,blue+minradius:2+labelfile:/some/file >> $b +gmt $m $l2s --annot=2+unit:z+curved+npoints:3 >> $b +gmt $m $l2s --annot=3+firstlast:f,l+prefix:MeFirst >> $b +gmt $m $l2s --contours=/some/nice.cpt --levels=/contour/file >> $b +gmt $m $l2s --contours=100 >> $b +gmt $m $l2s --dump >> $b +gmt $m $l2s --index=/index/file+binary >> $b +gmt $m $l2s --labels=plotdist:5 --label_placement=mapdist:50 >> $b +gmt $m $l2s --labels=locfile:/some/file --labels=segments:LB >> $b +gmt $m $l2s --labels=circles:RT >> $b +gmt $m $l2s --labels=nlabels:20 --labels=linestart:10 >> $b +gmt $m $l2s --labels=segmentfile:/this/sfile --labels=circlefile:/that/cfile >> $b +gmt $m $l2s --colorize >> $b +gmt $m $l2s --mesh=2p --triangular_mesh_pen=3p,black >> $b +gmt $m $l2s --noclip --no_clip >> $b +gmt $m $l2s --cut=25c --minpoints=100+nonzero --minlength=10 >> $b +gmt $m $l2s --skip=points --skip=triangles >> $b +gmt $m $l2s --ticks=high+all --ticks=low+gap:12/5+labels:"some lbls" >> $b +gmt $m $l2s --pen=annot:2p+colors:l --pen=regular:1p >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/psconvert/psconvert-l2s.sh b/test/psconvert/psconvert-l2s.sh new file mode 100755 index 00000000000..9f033c4cbdb --- /dev/null +++ b/test/psconvert/psconvert-l2s.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +# +# Test psconvert longopts translation. + +m=psconvert +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -A+r -A+u +--l2stranstest -Cspooky +--l2stranstest -D/this/dir -D/that/dir +--l2stranstest -E1000 +--l2stranstest -Fshortname -Flongname -Fprefix +--l2stranstest -G/a/bc -G/d/e/f +--l2stranstest -H3 +--l2stranstest -I+m1/2/3/4+sm400+S10 +--l2stranstest -L/my/psfilelist -L/your/psfilelist +--l2stranstest -Mbbg.ps -Mbbg.ps +--l2stranstest -Mffg.ps -Mffg.ps +--l2stranstest -N+f50+ggreen+kblue +--l2stranstest -N+gorange+p1p,red +--l2stranstest -Qg1 -Qp2 +--l2stranstest -Qt4 +--l2stranstest -S +--l2stranstest -Tb -Te+m -TE+q75 +--l2stranstest -Tf -TF -Tj -Tg +--l2stranstest -TG -Tm -Tt+m +--l2stranstest -W+aG+c+f0.5/0.8+g +--l2stranstest -W+c+k+l1/2+nThick +--l2stranstest -W+o/dir+tMyDoc+uhttp://worldly.com/x.html +--l2stranstest -Z -Z +EOF + +# module-specific longopts +gmt $m $l2s --adjust+round --crop+no_timestamp >> $b +gmt $m $l2s --gs_option=spooky >> $b +gmt $m $l2s --outdir=/this/dir --out_dir=/that/dir >> $b +gmt $m $l2s --dpi=1000 >> $b +gmt $m $l2s --outfile=shortname --out_name=longname --prefix=prefix >> $b +gmt $m $l2s --gs_path=/a/bc --ghost_path=/d/e/f >> $b +gmt $m $l2s --scale=3 >> $b +gmt $m $l2s --resize+margins:1/2/3/4+size:m400+scale:10 >> $b +gmt $m $l2s --listfile=/my/psfilelist --list_file=/your/psfilelist >> $b +gmt $m $l2s --pslayer=bg:bg.ps --pslayer=background:bg.ps >> $b +gmt $m $l2s --pslayer=fg:fg.ps --pslayer=foreground:fg.ps >> $b +gmt $m $l2s --bgcolor+fade:50+bg:green+fadecolor:blue >> $b +gmt $m $l2s --bgcolor+background:orange+pen:1p,red >> $b +gmt $m $l2s --anti_aliasing=graphics:1 --anti_aliasing=geopdf:2 >> $b +gmt $m $l2s --anti_aliasing=text:4 >> $b +gmt $m $l2s --gs_command >> $b +gmt $m $l2s --format=bmp --fmt=eps+mono --format=pageszeps+quality:75 >> $b +gmt $m $l2s --format=pdf --format=multipdf --format=jpeg --format=png >> $b +gmt $m $l2s --format=transpng --format=ppm --format=tiff+monochrome >> $b +gmt $m $l2s --world_file+altitude:G+nocrop+fade:0.5/0.8+gdal >> $b +gmt $m $l2s --world_file+no_crop+kml+lod:1/2+layer:Thick >> $b +gmt $m $l2s --esri+folder:/dir+doc:MyDoc+url:http://worldly.com/x.html >> $b +gmt $m $l2s --remove_infile --del_input_ps >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/sphdistance/sphdistance-l2s.sh b/test/sphdistance/sphdistance-l2s.sh new file mode 100755 index 00000000000..a02eade85d6 --- /dev/null +++ b/test/sphdistance/sphdistance-l2s.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +# +# Test sphdistance longopts translation. + +m=sphdistance +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -C -C +--l2stranstest -D +--l2stranstest -Ed1 -En -Ez +--l2stranstest -G/some/file.grd=nf+d2+n-99 +--l2stranstest -G/other/file.grd=nf+o6+s1.5 +--l2stranstest -I5+e/10 -I2 -I1/2+n +--l2stranstest -Ld -Le +--l2stranstest -N/my/nodes -N/your/nodes +--l2stranstest -Q/some/file.txt +EOF + +# module-specific longopts +gmt $m $l2s --save_mem --single_form >> $b +gmt $m $l2s --skipdup >> $b +gmt $m $l2s --quantity=distance:1 --quantity=polygon --quantity=zvalue >> $b +gmt $m $l2s --outgrid=/some/file.grd=nf+divide:2+nan:-99 >> $b +gmt $m $l2s --outgrid=/other/file.grd=nf+offset:6+scale:1.5 >> $b +gmt $m $l2s --increment=5+exact/10 --spacing=2 --inc=1/2+number >> $b +gmt $m $l2s --unit=d --dist_unit=e >> $b +gmt $m $l2s --nodes=/my/nodes --node_table=/your/nodes >> $b +gmt $m $l2s --voronoi=/some/file.txt >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/sphinterpolate/sphinterpolate-l2s.sh b/test/sphinterpolate/sphinterpolate-l2s.sh new file mode 100755 index 00000000000..dcffd8fc4dc --- /dev/null +++ b/test/sphinterpolate/sphinterpolate-l2s.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# +# Test sphinterpolate longopts translation. + +m=sphinterpolate +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -D99 +--l2stranstest -G/some/file.grd=nf+d2+n-99 +--l2stranstest -G/other/file.grd=nf+o6+s1.5 +--l2stranstest -I5+e/10 -I2 -I1/2+n +--l2stranstest -Qg -Ql +--l2stranstest -Qp -Qs +--l2stranstest -T -T +--l2stranstest -Z +EOF + +# module-specific longopts +gmt $m $l2s --skipdup=99 >> $b +gmt $m $l2s --outgrid=/some/file.grd=nf+divide:2+nan:-99 >> $b +gmt $m $l2s --outgrid=/other/file.grd=nf+offset:6+scale:1.5 >> $b +gmt $m $l2s --increment=5+exact/10 --spacing=2 --inc=1/2+number >> $b +gmt $m $l2s --tension=global --tension=local >> $b +gmt $m $l2s --tension=piecewise --tension=smooth >> $b +gmt $m $l2s --vartension --var_tension >> $b +gmt $m $l2s --scale >> $b + +diff $a $b --strip-trailing-cr > fail diff --git a/test/triangulate/triangulate-l2s.sh b/test/triangulate/triangulate-l2s.sh new file mode 100755 index 00000000000..64707c3d829 --- /dev/null +++ b/test/triangulate/triangulate-l2s.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +# +# Test triangulate longopts translation. + +m=triangulate +l2s='--l2stranstest' +a=$m-l2s-a.txt +b=$m-l2s-b.txt +rm -f $a $b ; touch $b + +cat << EOF > $a +--l2stranstest -A +--l2stranstest -C/some/slopefile +--l2stranstest -Dx -Dy +--l2stranstest -E +--l2stranstest -G/some/file.grd=nf+d2+n-99 +--l2stranstest -G/other/file.grd=nf+o6+s1.5 +--l2stranstest -I5+e/10 -I2 -I1/2+n +--l2stranstest -L/my/index+b +--l2stranstest -M -M +--l2stranstest -N +--l2stranstest -Qn +--l2stranstest -S10 -S+za +--l2stranstest -T +--l2stranstest -Z +EOF + +# module-specific longopts +gmt $m $l2s --area >> $b +gmt $m $l2s --slope_grid=/some/slopefile >> $b +gmt $m $l2s --derivatives=x --derivatives=y >> $b +gmt $m $l2s --empty >> $b +gmt $m $l2s --outgrid=/some/file.grd=nf+divide:2+nan:-99 >> $b +gmt $m $l2s --outgrid=/other/file.grd=nf+offset:6+scale:1.5 >> $b +gmt $m $l2s --increment=5+exact/10 --spacing=2 --inc=1/2+number >> $b +gmt $m $l2s --index=/my/index+binary >> $b +gmt $m $l2s --network --network >> $b +gmt $m $l2s --ids >> $b +gmt $m $l2s --voronoi=polygon >> $b +gmt $m $l2s --triangles=10 --triangles+zvalues:a >> $b +gmt $m $l2s --edges >> $b +gmt $m $l2s --xyz >> $b + +diff $a $b --strip-trailing-cr > fail