OS-7046: Want tests for nawk(1)

Details

Issue Type:Bug
Priority:4 - Normal
Status:Resolved
Created at:2018-06-21T22:18:54.608Z
Updated at:2018-10-11T20:59:24.275Z

People

Created by:Cody Mello [X]
Reported by:Cody Mello [X]
Assigned to:Cody Mello [X]

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-08-31T21:24:52.561Z)

Fix Versions

2018-09-13 Astronaut Mike Dexter (Release Date: 2018-09-13)

Related Issues

Related Links

Description

In preparation for updating nawk, it would be good to have a test suite to show that things don't break. Brian Kernighan has a set of tests that we can use, and some of the GNU awk tests are also applicable.

Not all of the tests pass with what's currently in master, I'm only going to import the ones that are currently passing, and will add the rest later as bugs are fixed.

Comments

Comment by Cody Mello [X]
Created at 2018-08-30T18:07:49.858Z

Here's the full output from the test runner:

Test: /opt/util-tests/tests/awk/runtests.sh (run as nobody)       [00:41] [PASS]
01:47:51.62 Running AWK tests ($AWK="/usr/bin/nawk")
01:47:51.62 
01:47:51.62 # Examples from "The AWK Programming Environment"
01:47:51.62 
01:47:51.63 examples/awk/p.1... ok
01:47:51.64 examples/awk/p.10... ok
01:47:51.65 examples/awk/p.11... ok
01:47:51.65 examples/awk/p.12... ok
01:47:51.66 examples/awk/p.13... ok
01:47:51.67 examples/awk/p.14... ok
01:47:51.68 examples/awk/p.15... ok
01:47:51.68 examples/awk/p.16... ok
01:47:51.69 examples/awk/p.17... ok
01:47:51.70 examples/awk/p.18... ok
01:47:51.70 examples/awk/p.19... ok
01:47:51.71 examples/awk/p.2... ok
01:47:51.72 examples/awk/p.20... ok
01:47:51.72 examples/awk/p.21... ok
01:47:51.73 examples/awk/p.21a... ok
01:47:51.74 examples/awk/p.22... ok
01:47:51.74 examples/awk/p.23... ok
01:47:51.75 examples/awk/p.24... ok
01:47:51.76 examples/awk/p.25... ok
01:47:51.77 examples/awk/p.26... ok
01:47:51.77 examples/awk/p.26a... ok
01:47:51.78 examples/awk/p.27... ok
01:47:51.79 examples/awk/p.28... ok
01:47:51.79 examples/awk/p.29... ok
01:47:51.80 examples/awk/p.3... ok
01:47:51.81 examples/awk/p.30... ok
01:47:51.81 examples/awk/p.31... ok
01:47:51.82 examples/awk/p.32... ok
01:47:51.83 examples/awk/p.33... ok
01:47:51.83 examples/awk/p.34... ok
01:47:51.84 examples/awk/p.35... ok
01:47:51.85 examples/awk/p.36... ok
01:47:51.86 examples/awk/p.37... ok
01:47:51.86 examples/awk/p.38... ok
01:47:51.87 examples/awk/p.39... ok
01:47:51.88 examples/awk/p.4... ok
01:47:51.88 examples/awk/p.40... ok
01:47:51.89 examples/awk/p.41... ok
01:47:51.90 examples/awk/p.42... ok
01:47:51.90 examples/awk/p.43... ok
01:47:51.91 examples/awk/p.44... ok
01:47:51.92 examples/awk/p.45... ok
01:47:51.93 examples/awk/p.46... ok
01:47:51.93 examples/awk/p.47... ok
01:47:51.96 examples/awk/p.48... ok
01:47:51.97 examples/awk/p.48a... ok
01:47:51.97 examples/awk/p.48b... ok
01:47:51.98 examples/awk/p.49... ok
01:47:51.99 examples/awk/p.5... ok
01:47:52.02 examples/awk/p.50... ok
01:47:52.03 examples/awk/p.51... ok
01:47:52.03 examples/awk/p.52... ok
01:47:52.04 examples/awk/p.5a... ok
01:47:52.05 examples/awk/p.6... ok
01:47:52.05 examples/awk/p.7... ok
01:47:52.06 examples/awk/p.8... ok
01:47:52.07 examples/awk/p.9... ok
01:47:52.08 examples/awk/p.table... ok
01:47:52.08 
01:47:52.08 # One True AWK Example Programs
01:47:52.08 
01:47:52.09 examples/awk/t.0... ok
01:47:52.10 examples/awk/t.0a... ok
01:47:52.11 examples/awk/t.1... ok
01:47:52.12 examples/awk/t.1.x... ok
01:47:52.13 examples/awk/t.2... ok
01:47:52.14 examples/awk/t.2.x... ok
01:47:52.15 examples/awk/t.3... ok
01:47:52.16 examples/awk/t.3.x... ok
01:47:52.17 examples/awk/t.4... ok
01:47:52.18 examples/awk/t.4.x... ok
01:47:52.19 examples/awk/t.5.x... ok
01:47:52.20 examples/awk/t.6... ok
01:47:52.21 examples/awk/t.6.x... ok
01:47:52.22 examples/awk/t.6a... ok
01:47:52.23 examples/awk/t.6b... ok
01:47:52.23 examples/awk/t.8.x... ok
01:47:52.24 examples/awk/t.8.y... ok
01:47:52.25 examples/awk/t.addops... ok
01:47:52.26 examples/awk/t.aeiou... ok
01:47:52.27 examples/awk/t.aeiouy... ok
01:47:52.29 examples/awk/t.arith... ok
01:47:52.30 examples/awk/t.array... ok
01:47:52.31 examples/awk/t.array1... ok
01:47:52.32 examples/awk/t.array2... ok
01:47:52.33 examples/awk/t.assert... ok
01:47:52.34 examples/awk/t.avg... ok
01:47:52.35 examples/awk/t.b.x... ok
01:47:52.36 examples/awk/t.be... ok
01:47:52.37 examples/awk/t.beginexit... ok
01:47:52.38 examples/awk/t.beginnext... ok
01:47:52.39 examples/awk/t.break... ok
01:47:52.40 examples/awk/t.break1... ok
01:47:52.41 examples/awk/t.break2... ok
01:47:52.42 examples/awk/t.break3... ok
01:47:52.43 examples/awk/t.bug1... ok
01:47:52.44 examples/awk/t.builtins... ok
01:47:52.45 examples/awk/t.cat... ok
01:47:52.46 examples/awk/t.cat1... ok
01:47:52.47 examples/awk/t.cat2... ok
01:47:52.48 examples/awk/t.cmp... ok
01:47:52.49 examples/awk/t.coerce... ok
01:47:52.50 examples/awk/t.coerce2... ok
01:47:52.51 examples/awk/t.comment... ok
01:47:52.52 examples/awk/t.comment1... ok
01:47:52.53 examples/awk/t.concat... ok
01:47:52.54 examples/awk/t.cond... ok
01:47:52.55 examples/awk/t.contin... ok
01:47:52.56 examples/awk/t.count... ok
01:47:52.57 examples/awk/t.cum... ok
01:47:52.58 examples/awk/t.d.x... ok
01:47:52.59 examples/awk/t.delete... ok
01:47:52.60 examples/awk/t.delete1... ok
01:47:52.61 examples/awk/t.delete2... ok
01:47:52.61 examples/awk/t.delete3... ok
01:47:52.62 examples/awk/t.do... ok
01:47:52.63 examples/awk/t.e... ok
01:47:52.64 examples/awk/t.else... ok
01:47:52.65 examples/awk/t.exit... ok
01:47:52.66 examples/awk/t.exit1... ok
01:47:52.67 examples/awk/t.f... ok
01:47:52.68 examples/awk/t.f.x... ok
01:47:52.69 examples/awk/t.f0... ok
01:47:52.70 examples/awk/t.f1... ok
01:47:52.71 examples/awk/t.f2... ok
01:47:52.72 examples/awk/t.f3... ok
01:47:52.73 examples/awk/t.f4... ok
01:47:52.74 examples/awk/t.for... ok
01:47:52.75 examples/awk/t.for1... ok
01:47:52.76 examples/awk/t.for2... ok
01:47:52.77 examples/awk/t.format4... ok
01:47:52.78 examples/awk/t.fun... ok
01:47:52.78 examples/awk/t.fun0... ok
01:47:52.79 examples/awk/t.fun1... ok
01:47:52.80 examples/awk/t.fun2... ok
01:47:52.81 examples/awk/t.fun3... ok
01:47:52.82 examples/awk/t.fun4... ok
01:47:52.83 examples/awk/t.fun5... ok
01:47:52.84 examples/awk/t.getline... ok
01:47:52.85 examples/awk/t.getval... ok
01:47:52.86 examples/awk/t.gsub... ok
01:47:52.87 examples/awk/t.gsub1... ok
01:47:52.88 examples/awk/t.gsub3... ok
01:47:52.89 examples/awk/t.gsub4... ok
01:47:52.90 examples/awk/t.i.x... ok
01:47:52.91 examples/awk/t.if... ok
01:47:52.94 examples/awk/t.in... ok
01:47:52.97 examples/awk/t.in1... ok
01:47:52.98 examples/awk/t.in2... ok
01:47:52.99 examples/awk/t.in3... ok
01:47:53.00 examples/awk/t.incr... ok
01:47:53.01 examples/awk/t.incr2... ok
01:47:53.01 examples/awk/t.incr3... ok
01:47:53.03 examples/awk/t.index... ok
01:47:53.04 examples/awk/t.intest... ok
01:47:53.06 examples/awk/t.intest2... ok
01:47:53.07 examples/awk/t.j.x... ok
01:47:53.07 examples/awk/t.longstr... ok
01:47:53.08 examples/awk/t.makef... ok
01:47:53.09 examples/awk/t.match... ok
01:47:53.10 examples/awk/t.match1... ok
01:47:53.11 examples/awk/t.max... ok
01:47:53.12 examples/awk/t.mod... ok
01:47:53.13 examples/awk/t.monotone... ok
01:47:53.14 examples/awk/t.nameval... ok
01:47:53.15 examples/awk/t.next... ok
01:47:53.16 examples/awk/t.NF... ok
01:47:53.17 examples/awk/t.not... ok
01:47:53.18 examples/awk/t.null0... ok
01:47:53.19 examples/awk/t.ofmt... ok
01:47:53.20 Warning: missing newline at end of file /tmp/dShG7AZ
01:47:53.20 Warning: missing newline at end of file examples/out/t.ofs
01:47:53.20 examples/awk/t.ofs... ok
01:47:53.20 Warning: missing newline at end of file /tmp/d1ha8AZ
01:47:53.20 Warning: missing newline at end of file examples/out/t.ors
01:47:53.21 examples/awk/t.ors... ok
01:47:53.22 examples/awk/t.pat... ok
01:47:53.24 examples/awk/t.pipe... ok
01:47:53.25 examples/awk/t.pp... ok
01:47:53.26 examples/awk/t.pp1... ok
01:47:53.27 examples/awk/t.pp2... ok
01:47:53.28 examples/awk/t.printf... ok
01:47:53.29 examples/awk/t.printf2... ok
01:47:53.30 examples/awk/t.quote... ok
01:47:53.30 examples/awk/t.randk... ok
01:47:53.32 examples/awk/t.re1... ok
01:47:53.33 examples/awk/t.re1a... ok
01:47:53.34 examples/awk/t.re2... ok
01:47:53.35 examples/awk/t.re3... ok
01:47:53.36 examples/awk/t.re4... ok
01:47:53.38 examples/awk/t.re5... ok
01:47:53.38 examples/awk/t.re7... ok
01:47:53.39 examples/awk/t.rec... ok
01:47:53.40 examples/awk/t.redir... ok
01:47:53.41 examples/awk/t.reFS... ok
01:47:53.42 examples/awk/t.reg... ok
01:47:53.43 examples/awk/t.roff... ok
01:47:53.44 examples/awk/t.sep... ok
01:47:53.45 examples/awk/t.seqno... ok
01:47:53.46 examples/awk/t.set0... ok
01:47:53.47 examples/awk/t.set0a... ok
01:47:53.48 examples/awk/t.set0b... ok
01:47:53.49 examples/awk/t.set1... ok
01:47:53.50 examples/awk/t.set2... ok
01:47:53.51 examples/awk/t.set3... ok
01:47:53.52 examples/awk/t.split... ok
01:47:53.53 examples/awk/t.split2... ok
01:47:53.54 examples/awk/t.split3... ok
01:47:53.55 examples/awk/t.split4... ok
01:47:53.56 examples/awk/t.split9... ok
01:47:53.57 examples/awk/t.split9a... ok
01:47:53.58 examples/awk/t.stately... ok
01:47:53.59 examples/awk/t.strcmp... ok
01:47:53.59 examples/awk/t.strcmp1... ok
01:47:53.60 examples/awk/t.strnum... ok
01:47:53.87 examples/awk/t.sub... ok
01:47:53.88 examples/awk/t.sub1... ok
01:47:53.89 examples/awk/t.sub2... ok
01:47:53.90 examples/awk/t.sub3... ok
01:47:53.91 examples/awk/t.substr... ok
01:47:53.92 examples/awk/t.substr1... ok
01:47:53.93 examples/awk/t.time... ok
01:47:53.94 examples/awk/t.vf... ok
01:47:53.95 examples/awk/t.vf1... ok
01:47:53.96 examples/awk/t.vf2... ok
01:47:53.97 examples/awk/t.vf3... ok
01:47:53.97 examples/awk/t.x... ok
01:47:53.97 
01:47:53.97 # One True AWK Test Programs
01:47:53.97 
01:47:54.04 ./T.-f-f... ok
01:47:54.20 ./T.argv... ok
01:47:54.29 ./T.builtin... ok
01:47:54.40 ./T.chem... ok
01:47:54.45 ./T.close... ok
01:47:54.74 ./T.clv... ok
01:47:55.35 ./T.errmsg... ok
01:47:57.31 ./T.expr... ok
01:47:57.33 ./T.exprconv... ok
01:47:57.40 ./T.flags... ok
01:47:57.58 ./T.func... ok
01:47:57.87 ./T.gawk... ok
01:47:58.05 ./T.getline... ok
01:47:58.14 ./T.latin1... ok
01:48:02.38 ./T.lilly... ok
01:48:02.46 ./T.main... ok
01:48:03.19 ./T.misc... ok
01:48:03.73 ./T.overflow... ok
01:48:08.17 ./T.re... ok
01:48:08.35 ./T.redir... ok
01:48:08.39 ./T.split... ok
01:48:10.95 ./T.sub... ok
01:48:10.99 ./T.system... ok
01:48:10.99 
01:48:10.99 # Imported GAWK Test Programs
01:48:10.99 
01:48:11.00 anchgsub.awk... ok
01:48:11.01 anchor.awk... ok
01:48:11.01 arrayind3.awk... ok
01:48:11.02 arrayprm2.awk... ok
01:48:11.03 arrayprm3.awk... ok
01:48:11.03 arrayref.awk... ok
01:48:11.04 arrymem1.awk... ok
01:48:11.05 arynasty.awk... ok
01:48:11.05 aryprm9.awk... ok
01:48:11.06 arysubnm.awk... ok
01:48:11.07 aryunasgn.awk... ok
01:48:11.07 asgext.awk... ok
01:48:11.09 childin.awk... ok
01:48:11.10 clobber.awk... ok
01:48:11.11 compare2.awk... ok
01:48:11.12 concat1.awk... ok
01:48:11.12 concat2.awk... ok
01:48:11.13 concat4.awk... ok
01:48:11.14 concat5.awk... ok
01:48:11.14 dfastress.awk... ok
01:48:11.15 dynlj.awk... ok
01:48:11.16 eofsplit.awk... ok
01:48:11.16 exit2.awk... ok
01:48:11.18 exitval2.awk... ok
01:48:11.19 exitval3.awk... ok
01:48:11.19 fcall_exit.awk... ok
01:48:11.20 fcall_exit2.awk... ok
01:48:11.21 fldchg.awk... ok
01:48:11.21 fldchgnf.awk... ok
01:48:11.22 fldterm.awk... ok
01:48:11.23 forsimp.awk... ok
01:48:11.23 fsbs.awk... ok
01:48:11.24 fsrs.awk... ok
01:48:11.25 fsspcoln.awk... ok
01:48:11.25 fstabplus.awk... ok
01:48:11.26 funsemnl.awk... ok
01:48:11.28 funstack.awk... ok
01:48:11.31 getline3.awk... ok
01:48:11.32 getlnbuf.awk... ok
01:48:11.34 getlnhd.awk... ok
01:48:11.34 getnr2tb.awk... ok
01:48:11.35 getnr2tm.awk... ok
01:48:11.36 gsubtest.awk... ok
01:48:11.36 gsubtst2.awk... ok
01:48:11.37 gsubtst7.awk... ok
01:48:11.38 gsubtst8.awk... ok
01:48:11.38 hex.awk... ok
01:48:11.39 hex2.awk... ok
01:48:11.39 inpref.awk... ok
01:48:11.40 inputred.awk... ok
01:48:11.41 intest.awk... ok
01:48:11.41 intprec.awk... ok
01:48:11.43 iobug1.awk... ok
01:48:11.44 leadnl.awk... ok
01:48:11.45 longsub.awk... ok
01:48:11.46 manglprm.awk... ok
01:48:11.46 math.awk... ok
01:48:11.47 membug1.awk... ok
01:48:11.48 minusstr.awk... ok
01:48:11.48 mtchi18n.awk... ok
01:48:11.49 nasty.awk... ok
01:48:11.49 nasty2.awk... ok
01:48:11.50 negexp.awk... ok
01:48:11.51 negrange.awk... ok
01:48:11.51 nested.awk... ok
01:48:11.52 nfldstr.awk... ok
01:48:11.53 nfloop.awk... ok
01:48:11.53 nlfldsep.awk... ok
01:48:11.54 nlinstr.awk... ok
01:48:11.54 nlstrina.awk... ok
01:48:11.55 noloop1.awk... ok
01:48:11.56 noloop2.awk... ok
01:48:11.56 nulrsend.awk... ok
01:48:11.57 numindex.awk... ok
01:48:11.57 numstr1.awk... ok
01:48:11.58 numsubstr.awk... ok
01:48:11.59 octsub.awk... ok
01:48:11.59 ofmt.awk... ok
01:48:11.60 ofmtfidl.awk... ok
01:48:11.61 ofmts.awk... ok
01:48:11.61 ofmtstrnum.awk... ok
01:48:11.62 onlynl.awk... ok
01:48:11.62 opasnidx.awk... ok
01:48:11.63 opasnslf.awk... ok
01:48:11.64 paramtyp.awk... ok
01:48:11.64 paramuninitglobal.awk... ok
01:48:11.65 parse1.awk... ok
01:48:11.65 pcntplus.awk... ok
01:48:11.70 pipeio1.awk... ok
01:48:11.70 posix2008sub.awk... ok
01:48:11.71 prdupval.awk... ok
01:48:11.71 prec.awk... ok
01:48:11.72 printf0.awk... ok
01:48:11.72 printf1.awk... ok
01:48:11.73 printfchar.awk... ok
01:48:11.74 prmreuse.awk... ok
01:48:11.74 prt1eval.awk... ok
01:48:11.75 range1.awk... ok
01:48:11.76 rebt8b1.awk... ok
01:48:11.76 rebuild.awk... ok
01:48:11.77 redfilnm.awk... ok
01:48:11.78 regexpbrack2.awk... ok
01:48:11.78 reparse.awk... ok
01:48:11.79 resplit.awk... ok
01:48:11.79 rri1.awk... ok
01:48:11.80 rs.awk... ok
01:48:11.80 rscompat.awk... ok
01:48:11.81 rsnul1nl.awk... ok
01:48:11.82 rstest2.awk... ok
01:48:11.84 rstest3.awk... ok
01:48:11.86 rstest4.awk... ok
01:48:11.89 rstest5.awk... ok
01:48:11.90 rstest6.awk... ok
01:48:11.90 rswhite.awk... ok
01:48:11.91 setrec0.awk... ok
01:48:11.91 setrec1.awk... ok
01:48:11.95 sigpipe1.awk... ok
01:48:11.96 splitargv.awk... ok
01:48:11.97 splitdef.awk... ok
01:48:11.97 splitvar.awk... ok
01:48:11.98 splitwht.awk... ok
01:48:11.98 strcat1.awk... ok
01:48:11.99 strnum1.awk... ok
01:48:11.99 strnum2.awk... ok
01:48:12.00 strtod.awk... ok
01:48:12.01 subamp.awk... ok
01:48:12.01 subi18n.awk... ok
01:48:12.02 subslash.awk... ok
01:48:12.02 substr.awk... ok
01:48:12.03 swaplns.awk... ok
01:48:12.04 tweakfld.awk... ok
01:48:12.04 uninit2.awk... ok
01:48:12.05 uninit5.awk... ok
01:48:12.06 uparrfs.awk... ok
01:48:12.06 wideidx.awk... ok
01:48:12.07 wideidx2.awk... ok
01:48:12.07 widesub.awk... ok
01:48:12.08 widesub2.awk... ok
01:48:12.08 widesub3.awk... ok
01:48:12.10 wjposer1.awk... ok
01:48:12.11 zero2.awk... ok
01:48:12.11 zeroe0.awk... ok
01:48:12.12 zeroflag.awk... ok
01:48:12.13 ./compare.sh... ok
01:48:12.15 ./getline2.sh... ok
01:48:12.16 ./leaddig.sh... ok
01:48:12.20 ./localenl.sh... ok
01:48:12.24 ./messages.sh... ok
01:48:12.26 ./nors.sh... ok
01:48:12.29 ./poundbang.sh... ok
01:48:32.98 ./randtest.sh... ok
01:48:33.00 ./rsnulbig.sh... ok
01:48:33.02 ./rsnulbig2.sh... ok
01:48:33.02 
01:48:33.02 # Imported GAWK Syntax Tests
01:48:33.02 
01:48:33.02 arrayparm.awk... ok
01:48:33.03 arryref3.awk... ok
01:48:33.04 arryref4.awk... ok
01:48:33.05 arryref5.awk... ok
01:48:33.06 aryprm1.awk... ok
01:48:33.07 aryprm2.awk... ok
01:48:33.08 aryprm3.awk... ok
01:48:33.09 aryprm4.awk... ok
01:48:33.10 aryprm5.awk... ok
01:48:33.11 aryprm6.awk... ok
01:48:33.12 badassign1.awk... ok
01:48:33.13 badbuild.awk... ok
01:48:33.14 callparam.awk... ok
01:48:33.14 delfunc.awk... ok
01:48:33.15 fnarray.awk... ok
01:48:33.16 fnaryscl.awk... ok
01:48:33.17 fnmisc.awk... ok
01:48:33.18 gsubasgn.awk... ok
01:48:33.19 nastyparm.awk... ok
01:48:33.20 noparms.awk... ok
01:48:33.21 nulinsrc.awk... ok
01:48:33.22 parseme.awk... ok
01:48:33.23 readbuf.awk... ok
01:48:33.24 scalar.awk... ok
01:48:33.25 sclforin.awk... ok
01:48:33.26 sclifin.awk... ok
01:48:33.27 synerr1.awk... ok
01:48:33.28 synerr2.awk... ok
01:48:33.29 tradanch1.awk... ok
01:48:33.30 unterm.awk... ok
01:48:33.30 
01:48:33.30 
01:48:33.30 TOTAL: 426/426

Comment by Cody Mello [X]
Created at 2018-08-31T19:27:23.054Z

I ran the full util-test suite in my COAL, following the Readme.smartos instructions:

[root@headnode (coal) /opt]# /opt/util-tests/bin/utiltest
Test: /opt/util-tests/tests/allowed-ips (run as root)             [00:00] [PASS]
Test: /opt/util-tests/tests/bunyan/bunyan (run as root)           [00:00] [PASS]
Test: /opt/util-tests/tests/date_test (run as root)               [00:00] [PASS]
Test: /opt/util-tests/tests/dis/distest (run as root)             [00:01] [FAIL]
Test: /opt/util-tests/tests/grep_test (run as root)               [00:00] [PASS]
Test: /opt/util-tests/tests/libsff/libsff (run as root)           [00:00] [PASS]
Test: /opt/util-tests/tests/mergeq/mqt (run as root)              [00:00] [PASS]
Test: /opt/util-tests/tests/mergeq/wqt (run as root)              [00:00] [PASS]
Test: /opt/util-tests/tests/printf_test (run as root)             [00:00] [PASS]
Test: /opt/util-tests/tests/set-linkprop (run as root)            [00:00] [PASS]
Test: /opt/util-tests/tests/show-overlay-exit (run as root)       [00:00] [PASS]
Test: /opt/util-tests/tests/vnic-mtu (run as root)                [00:00] [PASS]
Test: /opt/util-tests/tests/xargs_test (run as root)              [00:55] [FAIL]
Test: /opt/util-tests/tests/awk/runtests.sh (run as nobody)       [00:46] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_00_blank (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_01_boolean (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_02_numbers (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_03_empty_arrays (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_04_number_arrays (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_05_strings (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_06_nested (run as root) [00:00] [PASS]
Test: /opt/util-tests/tests/libnvpair_json/json_07_nested_arrays (run as root) [00:00] [PASS]

Results Summary
FAIL       2
PASS      20

Running Time:   00:01:46
Percent passed: 90.9%
Log directory:  /var/tmp/test_results/20180831T191842

The two failures are unrelated to my changes. The xargs_test failure seems to be caused by xargs -P not rejecting negative values:

[root@headnode (coal) ~]# tail /var/tmp/test_results/20180831T191842/xargs_test/stdout
TEST STARTING test15: leading and embedded blanks with -i
TEST PASS: test15
TEST STARTING test16: single character replstring
TEST PASS: test16
TEST STARTING test17: null byte separators
TEST PASS: test17
TEST STARTING test18: escape characters
TEST PASS: test18
TEST STARTING test19: bad -P option (negative value)
TEST FAIL: test19:
[root@headnode (coal) ~]# xargs -P -3 < /dev/null
[root@headnode (coal) ~]# echo $?
0
[root@headnode (coal) ~]# which xargs 
/usr/bin/xargs

And the dis failures seem to be caused by failing to assemble the test files:

[root@headnode (coal) ~]# gas --version
GNU assembler (GNU Binutils)2.24
Copyright 2013 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `i486-sun-solaris2.11'.
[root@headnode (coal) ~]# grep fail /var/tmp/test_results/20180831T191842/distest/stdout 
testing /opt/util-tests/tests/dis/i386/32.opmask.s ... failed  (assembling) failure.0
testing /opt/util-tests/tests/dis/i386/32.avx512.s ... failed  (assembling) failure.1
testing /opt/util-tests/tests/dis/i386/32.xsave.s ... failed  (assembling) failure.2
testing /opt/util-tests/tests/dis/i386/64.opmask.s ... failed  (assembling) failure.3
testing /opt/util-tests/tests/dis/i386/64.avx512.s ... failed  (assembling) failure.4
testing /opt/util-tests/tests/dis/i386/64.xsave.s ... failed  (assembling) failure.5
Tests failed: 6

This may be caused by having installed an old version of gas:

[root@headnode (coal) ~]# gas --version
GNU assembler (GNU Binutils)2.24
Copyright 2013 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `i486-sun-solaris2.11'.

Comment by Jira Bot
Created at 2018-08-31T21:16:03.327Z

illumos-joyent commit bfe5ff0f4ad769a453337252e1adf21fb4313a83 (branch master, by Cody Peter Mello)

OS-7046 Want tests for nawk(1)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Robert Mustacchi <rm@joyent.com>