diff options
Diffstat (limited to 'vms')
-rw-r--r-- | vms/ChangeLog | 56 | ||||
-rw-r--r-- | vms/descrip.mms | 163 | ||||
-rw-r--r-- | vms/gawkmisc.vms | 26 | ||||
-rw-r--r-- | vms/vms-conf.h | 9 | ||||
-rw-r--r-- | vms/vms_fwrite.c | 2 | ||||
-rw-r--r-- | vms/vms_gawk.c | 10 | ||||
-rw-r--r-- | vms/vmsbuild.com | 50 | ||||
-rw-r--r-- | vms/vmstest.com | 405 |
8 files changed, 390 insertions, 331 deletions
diff --git a/vms/ChangeLog b/vms/ChangeLog index 4efd37b2..3e4688b2 100644 --- a/vms/ChangeLog +++ b/vms/ChangeLog @@ -12,6 +12,26 @@ * descrip.mms (REL, PATCHLVL): Move to 4.0.2. * vms-conf.h (VERSION, PACKAGE_VERSION, PACKAGE_STRING): Move to 4.0.2. +2012-12-18 John E. Malmberg <wb8tyw@qsl.net> + + * descrip.mms: Make the build procedure run on a default directory + that is on a VMS logical name search list. + * vmstest.com: Make the tests run on a default directory that is on + a VMS logical name search list. + +2012-12-13 Anders Wallin <anders_s_wallin@yahoo.se> + + * descrip.mms: Update to handle removal of pgawk and dgawk, + workaround for MMS bug + +2012-12-09 Anders Wallin <anders_s_wallin@yahoo.se> + + * vmstest.com: Updated to match main test/Makefile. + +2012-12-02 Arnold D. Robbins <arnold@skeeve.com> + + * vms_gawk.c (CmdName): Force to just "GAWK". + 2012-11-24 Arnold D. Robbins <arnold@skeeve.com> * vmstest.com: Fix typo in applying previous patch. @@ -20,10 +40,46 @@ * vmstest.com: Updated to match main test/Makefile. +2012-11-14 Arnold D. Robbins <arnold@skeeve.com> + + * vmsbuild.com: Updated. Thanks to Anders Wallin. + * vms-conf.h: Ditto, ditto. + +2012-11-12 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.vms (os_isreadable): Change first argument type to + awk_input_buf_t. + * vms-conf.h (HAVE_STDINT_H): Define. + (SHLIBEXT, DEFLIBPATH): Add definitions. + * vms_fwrite.c (tty_fwrite): Check do_debug instead of no-longer- + extant which_gawk variable. + * vms_gawk.c (vms_gawk): Check do_debug and do_profiling instead + of which_gawk. + + Thanks to Anders Wallin. + +2012-08-08 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.vms (os_isreadable): Take IOBUF_PUBLIC instead of fd and + use passed in info. + +2012-07-29 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.vms (os_isreadable): Add isdir pointer parameter to be + set to true if fd is for a directory. + +2012-07-26 Arnold D. Robbins <arnold@skeeve.com> + + * gawkmisc.vms (os_isreadable): New function. + 2012-03-29 Arnold D. Robbins <arnold@skeeve.com> * config.h: Add definition for _Noreturn. +2012-03-20 Andrew J. Schorr <aschorr@telemetry-investments.com> + + * gawkmisc.vms (deflibpath): New global variable. + 2012-03-28 Arnold D. Robbins <arnold@skeeve.com> * 4.0.1: Release tar ball made. diff --git a/vms/descrip.mms b/vms/descrip.mms index d431af8f..77dad90a 100644 --- a/vms/descrip.mms +++ b/vms/descrip.mms @@ -12,14 +12,6 @@ # gawk.exe : # This is the default target. DEC C has become the default compiler. # -# pgawk.exe : -# An alternate version which generates some profiling feedback for -# the awk programs it executes. Included with `make all'. -# -# dgawk.exe : -# An alternate version which supports debugging. -# Included with `make all'. -# # awkgram.c : # If you don't have bison but do have VMS POSIX or DEC/Shell, # change the PARSER and PASERINIT macros to use yacc. If you don't @@ -100,14 +92,15 @@ ECHO = write sys$output NOOP = continue # object files -GAWKOBJ = eval.obj,profile.obj -PGAWKOBJ = eval_p.obj,profile_p.obj -DGAWKOBJ = eval_d.obj,profile.obj,command.obj,debug.obj -AWKOBJ1 = array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,\ - field.obj,floatcomp.obj,gawkmisc.obj,getopt.obj,getopt1.obj,\ - io.obj -AWKOBJ2 = main.obj,msg.obj,node.obj,random.obj,re.obj,\ - regex.obj,replace.obj,version.obj +GAWKOBJ = eval.obj,profile.obj +AWKOBJ1 = array.obj,awkgram.obj,builtin.obj,cint_array.obj,\ + command.obj,debug.obj,dfa.obj,ext.obj,field.obj,\ + floatcomp.obj,gawkapi.obj,gawkmisc.obj,getopt.obj,getopt1.obj + +AWKOBJ2 = int_array.obj,io.obj,main.obj,mpfr.obj,msg.obj,node.obj,\ + random.obj,re.obj,regex.obj,replace.obj,\ + str_array.obj,symbol.obj,version.obj + AWKOBJS = $(AWKOBJ1),$(AWKOBJ2) # VMSOBJS @@ -117,56 +110,27 @@ VMSCODE = vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj,\ VMSCMD = gawk_cmd.obj # built from .cld file VMSOBJS = $(VMSCODE),$(VMSCMD) -# primary source files -AWKSRC = array.c,builtin.c,dfa.c,eval.c,eval_p.c,ext.c,field.c,\ - floatcomp.c,gawkmisc.c,getopt.c,getopt1.c,io.c,main.c,\ - msg.c,node.c,profile.c,profile_p.c,random.c,re.c,regcomp.c,\ - regex.c,regex_internal.c,regexec.c,replace.c,version.c - -DBGSRC = eval_d.c,debug.c,command.y,cmd.h - -ALLSRC = $(AWKSRC),awkgram.y,awk.h,custom.h,dfa.h,getopt.h,\ - gettext.h,mbsupport.h,protos.h,random.h - -VMSSRC = $(VMSDIR)gawkmisc.vms,$(VMSDIR)vms_misc.c,$(VMSDIR)vms_popen.c,\ - $(VMSDIR)vms_fwrite.c,$(VMSDIR)vms_args.c,$(VMSDIR)vms_gawk.c,\ - $(VMSDIR)vms_cli.c -VMSHDRS = $(VMSDIR)redirect.h,$(VMSDIR)vms.h,$(VMSDIR)fcntl.h,\ - $(VMSDIR)varargs.h,$(VMSDIR)unixlib.h -VMSOTHR = $(VMSDIR)descrip.mms,$(VMSDIR)vmsbuild.com,$(VMSDIR)version.com,\ - $(VMSDIR)gawk.hlp - DOCS= $(DOCDIR)gawk.1,$(DOCDIR)gawk.texi,$(DOCDIR)texinfo.tex # Release of gawk -REL=4.0 -PATCHLVL=2 +REL=4.1 +PATCHLVL=0 # generic target -all : gawk,pgawk,dgawk - $(NOOP) +all : gawk + @ $(NOOP) # dummy target to allow building "gawk" in addition to explicit "gawk.exe" gawk : gawk.exe - $(ECHO) " GAWK " -pgawk : pgawk.exe - $(ECHO) " PGAWK " -dgawk : dgawk.exe - $(ECHO) " DGAWK " + @ $(ECHO) "$< is upto date" # rules to build gawk gawk.exe : $(GAWKOBJ) $(AWKOBJS) $(VMSOBJS) gawk.opt $(LINK) $(LINKFLAGS) gawk.opt/options -# rules to build pgawk and dgawk -pgawk.exe : $(PGAWKOBJ) $(AWKOBJS) $(VMSOBJS) pgawk.opt - $(LINK) $(LINKFLAGS) pgawk.opt/options -dgawk.exe : $(DGAWKOBJ) $(AWKOBJS) $(VMSOBJS) dgawk.opt - $(LINK) $(LINKFLAGS) dgawk.opt/options - gawk.opt : $(MAKEFILE) # create linker options file - open/write opt gawk.opt ! ~ 'cat <<close >gawk.opt' - write opt "! GAWK -- GNU awk" + @ open/write opt sys$disk:[]gawk.opt ! ~ 'cat <<close >gawk.opt' + @ write opt "! GAWK -- GNU awk" @ write opt "$(GAWKOBJ)" @ write opt "$(AWKOBJ1)" @ write opt "$(AWKOBJ2)" @@ -174,59 +138,52 @@ gawk.opt : $(MAKEFILE) # create linker options file @ write opt "psect_attr=environ,noshr !extern [noshare] char **" @ write opt "stack=48 !preallocate more pages (default is 20)" @ write opt "iosegment=128 !ditto (default is 32)" - write opt "$(LIBS)" - write opt "identification=""V$(REL).$(PATCHLVL)""" - close opt - -pgawk.opt : $(MAKEFILE) # create linker options file - open/write opt pgawk.opt - write opt "! PGAWK -- GNU awk w/ run-time profiling" - @ write opt "$(PGAWKOBJ)" - @ write opt "$(AWKOBJ1)" - @ write opt "$(AWKOBJ2)" - @ write opt "$(VMSOBJS)" - @ write opt "psect_attr=environ,noshr !extern [noshare] char **" - @ write opt "stack=48 !preallocate more pages (default is 20)" - @ write opt "iosegment=128 !ditto (default is 32)" - write opt "$(LIBS)" - write opt "identification=""V$(REL).$(PATCHLVL)""" - close opt - -dgawk.opt : $(MAKEFILE) # create linker options file - open/write opt dgawk.opt - write opt "! DGAWK -- GNU awk w/ debugging" - @ write opt "$(DGAWKOBJ)" - @ write opt "$(AWKOBJ1)" - @ write opt "$(AWKOBJ2)" - @ write opt "$(VMSOBJS)" - @ write opt "psect_attr=environ,noshr !extern [noshare] char **" - @ write opt "stack=48 !preallocate more pages (default is 20)" - @ write opt "iosegment=128 !ditto (default is 32)" - write opt "$(LIBS)" - write opt "identification=""V$(REL).$(PATCHLVL)""" - close opt + @ write opt "$(LIBS)" + @ write opt "identification=""V$(REL).$(PATCHLVL)""" + @ close opt +$(VMSCODE) : awk.h config.h $(VMSDIR)redirect.h $(VMSDIR)vms.h +$(AWKOBJS) : awk.h gettext.h mbsupport.h regex.h dfa.h config.h $(VMSDIR)redirect.h +$(GAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h + +#----------------------------------------------------------------------------- +# Older versions of MMS have problems handling lower case file names typically +# found on ODS-5 disks. Fix this by adding explicit dependencies. +#_____________________________________________________________________________ +array.obj : array.c +awkgram.obj : awkgram.c awk.h +builtin.obj : builtin.c floatmagic.h random.h +cint_array.obj : cint_array.c +command.obj : command.c cmd.h +debug.obj : debug.c cmd.h +dfa.obj : dfa.c dfa.h +ext.obj : ext.c +eval.obj : eval.c +field.obj : field.c +floatcomp.obj : floatcomp.c +gawkaoi.obj : gawkapi.c +gawkmisc.obj : gawkmisc.c $(VMSDIR)gawkmisc.vms +getopt.obj : getopt.c +getopt1.obj : getopt1.c +int_array.obj : int_array.c +io.obj : io.c +main.obj : main.c +msg.obj : msg.c +mpfr.obj : mpfr.c +node.obj : node.c +profile.obj : profile.c +random.obj : random.c random.h +re.obj : re.c +regex.obj : regex.c regcomp.c regex_internal.c regexec.c regex.h regex_internal.h +str_array.obj : str_array.c +symbol.obj : symbol.c +version.obj : version.c vms_misc.obj : $(VMSDIR)vms_misc.c vms_popen.obj : $(VMSDIR)vms_popen.c vms_fwrite.obj : $(VMSDIR)vms_fwrite.c vms_args.obj : $(VMSDIR)vms_args.c vms_gawk.obj : $(VMSDIR)vms_gawk.c vms_cli.obj : $(VMSDIR)vms_cli.c -$(VMSCODE) : awk.h config.h $(VMSDIR)redirect.h $(VMSDIR)vms.h - -gawkmisc.obj : gawkmisc.c $(VMSDIR)gawkmisc.vms - -$(AWKOBJS) : awk.h gettext.h mbsupport.h regex.h dfa.h \ - config.h $(VMSDIR)redirect.h -$(GAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h -$(PGAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h -$(DGAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h -random.obj : random.h -builtin.obj : floatmagic.h random.h -awkgram.obj : awkgram.c awk.h -dfa.obj : dfa.c dfa.h -regex.obj : regex.c regcomp.c regex_internal.c regexec.c regex.h regex_internal.h -command.obj,debug.obj : cmd.h replace.obj : replace.c $(MISSNGD)system.c $(MISSNGD)memcmp.c \ $(MISSNGD)memcpy.c $(MISSNGD)memset.c $(MISSNGD)memmove.c \ $(MISSNGD)strncasecmp.c $(MISSNGD)strerror.c \ @@ -245,6 +202,7 @@ awkgram.c : awkgram.y # foo.y :: yacc => y[_]tab.c, bison => foo_tab.c @- if f$search("ytab.c") .nes."" then rename/new_vers ytab.c $@ @- if f$search("y_tab.c") .nes."" then rename/new_vers y_tab.c $@ @- if f$search("awkgram_tab.c").nes."" then rename/new_vers awkgram_tab.c $@ + command.c : command.y @- if f$search("ytab.c") .nes."" then delete ytab.c;* @- if f$search("y_tab.c") .nes."" then delete y_tab.c;* @@ -256,13 +214,13 @@ command.c : command.y @- if f$search("command_tab.c").nes."" then rename/new_vers command_tab.c $@ config.h : $(VMSDIR)vms-conf.h - copy $< $@ + copy $< sys$disk:[]$@ $(VMSCMD) : $(VMSDIR)gawk.cld set command $(CLDFLAGS)/object=$@ $< # special target for loading the help text into a VMS help library -install.help : $(VMS)gawk.hlp +install.help : $(VMSDIR)gawk.hlp library/help $(HELPLIB) $< /log # miscellaneous other targets @@ -271,13 +229,12 @@ tidy : - if f$search("[.*]*.*;-1").nes."" then purge [.*] clean : - - delete *.obj;*,gawk.opt;*,pgawk.opt;*,dgawk.opt;* + - if f$search ("*.obj") .nes. "" then delete *.obj;* + - if f$search ("gawk.opt") .nes. "" then delete gawk.opt;* spotless : clean tidy - if f$search("config.h").nes."" then rename config.h config.h-old/New - if f$search("gawk.exe").nes."" then delete gawk.exe;* - - if f$search("pgawk.exe").nes."" then delete pgawk.exe;* - - if f$search("dgawk.exe").nes."" then delete dgawk.exe;* - if f$search("gawk.dvi").nes."" then delete gawk.dvi;* - if f$search("[.doc]texindex.exe").nes."" then delete [.doc]texindex.exe;* diff --git a/vms/gawkmisc.vms b/vms/gawkmisc.vms index 346a1e88..08c8fb5e 100644 --- a/vms/gawkmisc.vms +++ b/vms/gawkmisc.vms @@ -25,6 +25,7 @@ char quote = '\''; char *defpath = DEFPATH; +char *deflibpath = DEFLIBPATH; char envsep = ','; /* gawk_name --- pull out the "gawk" part from how the OS called us */ @@ -143,6 +144,31 @@ int fd; return (fstat(fd, &sbuf) == 0 && S_ISDIR(sbuf.st_mode)); } +/* os_isreadable --- fd can be read from */ + +int +os_isreadable(const awk_input_buf_t *iobuf, bool *isdir) +{ + *isdir = false; + + switch (iobuf->sbuf.st_mode & S_IFMT) { + case S_IFREG: + case S_IFCHR: /* ttys, /dev/null, .. */ +#ifdef S_IFSOCK + case S_IFSOCK: +#endif +#ifdef S_IFIFO + case S_IFIFO: +#endif + return true; + case S_IFDIR: + *isdir = true; + /* fall through */ + default: + return false; + } +} + /* os_is_setuid --- true if running setuid root */ int diff --git a/vms/vms-conf.h b/vms/vms-conf.h index d4dd0f9b..910d519b 100644 --- a/vms/vms-conf.h +++ b/vms/vms-conf.h @@ -45,6 +45,10 @@ #define STACK_DIRECTION (-1) #endif /*0*/ +#include <bitypes.h> +#define INT32_MAX __INT32_MAX +#define INT32_MIN __INT32_MIN + /* dynamic loading is possible */ #undef DYNAMIC @@ -545,6 +549,10 @@ /* Whether `time_t' is an unsigned type. */ #define TIME_T_UNSIGNED 1 +/* Extension for shared libraries */ +#define SHLIBEXT "exe" + + /*******************************/ /* Gawk configuration options. */ /*******************************/ @@ -561,6 +569,7 @@ */ #define DEFPATH ".,/AWK_LIBRARY" +#define DEFLIBPATH ".,/AWK_LIBRARY" #define ENVSEP ',' /* diff --git a/vms/vms_fwrite.c b/vms/vms_fwrite.c index 921ac2d4..1a16f58c 100644 --- a/vms/vms_fwrite.c +++ b/vms/vms_fwrite.c @@ -77,7 +77,7 @@ tty_fwrite( const void *buf, size_t size, size_t number, FILE *file ) chan = file_num < _NFILE ? channel[file_num] : -1; if (chan == 0) { /* if not initialized, need to assign a channel */ if (isatty(file_num) > 0 /* isatty: 1=yes, 0=no, -1=problem */ - && which_gawk != exe_debugging) { + && ! do_debug) { Dsc device; char devnam[255+1]; diff --git a/vms/vms_gawk.c b/vms/vms_gawk.c index 222d803d..f22e2fa9 100644 --- a/vms/vms_gawk.c +++ b/vms/vms_gawk.c @@ -51,7 +51,7 @@ extern void *gawk_cmd; extern void _exit(int); static int vms_usage(int); -static const char *CmdName; /* "GAWK", "DGAWK", or "PGAWK" */ +static const char *CmdName = "GAWK"; #define ARG_SIZ 250 union arg_w_prefix { /* structure used to simplify prepending of "-" */ @@ -80,10 +80,6 @@ vms_gawk() int native_dcl = 1, /* assume true until we know otherwise */ short_circ; /* some options make P1, /commands, /input superfluous */ - CmdName = (which_gawk == exe_profiling) ? "PGAWK" - : (which_gawk == exe_debugging) ? "DGAWK" - : "GAWK"; - /* check "GAWK_P1"--it's required; its presence will tip us off */ sts = Cli_Present("GAWK_P1"); if (CondVal(sts) == CondVal(CLI$_SYNTAX)) { @@ -98,7 +94,7 @@ vms_gawk() } short_circ = Present("USAGE") || Present("VERSION") || Present("COPYRIGHT"); if (vmswork(sts)) /* command parsed successfully */ - v_add_arg(argc = 0, CmdName); /* save "GAWK|DGAWK|PGAWK" as argv[0] */ + v_add_arg(argc = 0, CmdName); /* save "GAWK" as argv[0] */ else if (CondVal(sts) == CondVal(CLI$_INSFPRM)) /* vms_usage() will handle /usage, /version, and /copyright */ return short_circ ? vms_usage(0) @@ -245,7 +241,7 @@ options: /FIELD_SEPARATOR=\"FS_value\" \n\ complaint = 0; /* clean exit */ } else if (Present("VERSION") || Present("COPYRIGHT")) { /* construct a truncated Unix-style command line to control main() */ - v_add_arg(argc=0, CmdName); /* save "GAWK",&c as argv[0] */ + v_add_arg(argc=0, CmdName); /* save "GAWK" as argv[0] */ #if 0 v_add_arg(++argc, Present("VERSION") ? "-V" : "-C"); #else diff --git a/vms/vmsbuild.com b/vms/vmsbuild.com index d93fefe1..95c6aeb3 100644 --- a/vms/vmsbuild.com +++ b/vms/vmsbuild.com @@ -10,9 +10,10 @@ $! gawk 3.1.1 revised, Apr'02 $! gawk 3.1.6 revised, Mar'07 $! gawk-bytecode revd, Jan'10 $! gawk 4.0.0 revd, May'11 +$! gawk 4.1.0 revd, Nov'12 $! -$ REL = "4.0" !release version number -$ PATCHLVL = "2" +$ REL = "4.1" !release version number +$ PATCHLVL = "0" $! $! $ CCFLAGS = "/noList" ! "/noOpt/Debug" @@ -90,12 +91,15 @@ $ cc regex.c $ cc replace.c $ cc version.c $ cc eval.c -$ cc eval_p.c -$ cc eval_d.c $ cc profile.c -$ cc profile_p.c $ cc command.c $ cc debug.c +$ cc int_array.c +$ cc cint_array.c +$ cc gawkapi.c +$ cc mpfr.c +$ cc str_array.c +$ cc symbol.c $ cc [.vms]vms_misc.c $ cc [.vms]vms_popen.c $ cc [.vms]vms_fwrite.c @@ -112,6 +116,7 @@ array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,field.obj,floatcomp.obj gawkmisc.obj,getopt.obj,getopt1.obj,io.obj main.obj,msg.obj,node.obj random.obj,re.obj,regex.obj,replace.obj,version.obj,eval.obj,profile.obj +command.obj,debug.obj,int_array.obj,cint_array.obj,gawkapi.obj,mpfr.obj,str_array.obj,symbol.obj []vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj []vms_gawk.obj,vms_cli.obj,gawk_cmd.obj psect_attr=environ,noshr !extern [noshare] char ** @@ -122,42 +127,7 @@ $ write Fopt libs $ write Fopt "identification=""V''REL'.''PATCHLVL'""" $ close Fopt $! -$ create pgawk.opt -! PGAWK -- GNU awk w/ run-time profiling -array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,field.obj,floatcomp.obj -gawkmisc.obj,getopt.obj,getopt1.obj,io.obj -main.obj,msg.obj,node.obj -random.obj,re.obj,regex.obj,replace.obj,version.obj,eval_p.obj,profile_p.obj -[]vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj -[]vms_gawk.obj,vms_cli.obj,gawk_cmd.obj -psect_attr=environ,noshr !extern [noshare] char ** -stack=48 !preallocate more pages (default is 20) -iosegment=128 !ditto (default is 32) -$ open/append Fopt pgawk.opt -$ write Fopt libs -$ write Fopt "identification=""V''REL'.''PATCHLVL'""" -$ close Fopt -$! -$ create dgawk.opt -! DGAWK -- GNU awk w/ debugging -array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,field.obj,floatcomp.obj -gawkmisc.obj,getopt.obj,getopt1.obj,io.obj -main.obj,msg.obj,node.obj -random.obj,re.obj,regex.obj,replace.obj,version.obj -eval_d.obj,profile.obj,command.obj,debug.obj -[]vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj -[]vms_gawk.obj,vms_cli.obj,gawk_cmd.obj -psect_attr=environ,noshr !extern [noshare] char ** -stack=48 !preallocate more pages (default is 20) -iosegment=128 !ditto (default is 32) -$ open/append Fopt dgawk.opt -$ write Fopt libs -$ write Fopt "identification=""V''REL'.''PATCHLVL'""" -$ close Fopt -$! $ v = f$verify(1) $ link/exe=gawk.exe gawk.opt/options -$ link/exe=pgawk.exe pgawk.opt/options -$ link/exe=dgawk.exe dgawk.opt/options $! 'f$verify(v)' $ exit diff --git a/vms/vmstest.com b/vms/vmstest.com index 60534efa..2aebe9ff 100644 --- a/vms/vmstest.com +++ b/vms/vmstest.com @@ -8,6 +8,10 @@ $ $! 3.1.7: changed to share code among many common tests, and $! to put results for test foo into _foo.tmp instead of tmp. $! +$! 4.0.71: New tests: +$! functab1,functab2,functab3,id,incdupe,incdupe2, incdupe3,include2 +$! symtab1,symtab2,symtab3,symtab4,symtab5,symtab6 +$! $ echo = "write sys$output" $ cmp = "diff/Output=_NL:/Maximum=1" $ igncascmp = "''cmp'/Ignore=Case" @@ -15,12 +19,10 @@ $ sumslp = "edit/Sum" $ rm = "delete/noConfirm/noLog" $ mv = "rename/New_Vers" $ gawk = "$sys$disk:[-]gawk" -$ pgawk = "$sys$disk:[-]pgawk" $ AWKPATH_srcdir = "define/User AWKPATH sys$disk:[]" $ $ listdepth = 0 $ pipeok = 0 -$ pgawkok = -1 $ floatmode = -1 ! 0: D_float, 1: G_float, 2: IEEE T_float $ $ list = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8 @@ -34,7 +36,7 @@ $all: $bigtest: echo "bigtest..." $ ! omits "printlang" and "extra" $ list = "basic unix_tests gawk_ext vms_tests charset_tests" - - + " machine_tests pgawk_tests" + + " machine_tests" $ gosub list_of_tests $ return $ @@ -99,18 +101,20 @@ $gawk_ext: echo "gawk_ext... (gawk.extensions)" $ list = "aadelete1 aadelete2 aarray1 aasort aasorti" - + " argtest arraysort backw badargs beginfile1 binmode1" - + " clos1way charasbytes delsub devfd devfd1 devfd2 dumpvars exit" - - + " fieldwdth fpat1 fpat2 fpat3 fpatnull funlen fsfwfs" - + + " fieldwdth fpat1 fpat2 fpat3 fpatnull funlen functab1" - + + " functab2 functab3 fsfwfs" - + " fwtest fwtest2 fwtest3" - + " gensub gensub2 getlndir gnuops2 gnuops3 gnureops" - - + " icasefs icasers igncdym igncfs ignrcase ignrcas2" + + " icasefs id icasers igncdym igncfs ignrcase ignrcas2 incdupe incdupe2 incdupe3" $ gosub list_of_tests -$ list = "indirectcall lint lintold lintwarn match1" - +$ list = "include2 indirectcall lint lintold lintwarn match1" - + " match2 match3 manyfiles mbprintf3 mbstr1" - + " nastyparm next nondec" - + " nondec2 patsplit posix profile1 procinfs printfbad1" - - + " printfbad2 printfbad3 pty1 regx8bit rebuf reint" - - + " reint2 rsstart1 rsstart2 rsstart3 rstest6 shadow" - - + " sortfor sortu splitarg4 strtonum strftime switch2" + + " printfbad2 printfbad3 profile2 profile3 pty1" - + + " regx8bit rebuf reint reint2 rsstart1 rsstart2 rsstart3 rstest6" - + + " shadow sortfor sortu splitarg4 strtonum strftime switch2" - + + " symtab1 symtab2 symtab3 symtab4 symtab5 symtab6" $ gosub list_of_tests $ return $ @@ -136,16 +140,6 @@ $ list = "double1 double2 fmtspcl intformat" $ gosub list_of_tests $ return $ -$ ! pgawk_tests is part of bigtest; profile_tests is a separate subset -$profile_tests: echo "profile_tests..." -$ list = "profile1" -$ gosub list_of_tests -$ ! fall through to pgawk_tests -$pgawk_tests: echo "pgawk_tests..." -$ list = "profile2 profile3" -$ gosub list_of_tests -$ return -$ $extra: echo "extra..." $ list = "regtest inftest inet" $ gosub list_of_tests @@ -274,7 +268,7 @@ $zeroe0: $! common with 'test'.in $ echo "''test'" $ gawk -f 'test'.awk 'test'.in >_'test'.tmp -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -344,7 +338,7 @@ $zeroflag: $! common without 'test'.in $ echo "''test'" $ gawk -f 'test'.awk >_'test'.tmp -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -380,15 +374,16 @@ $pty1: $ echo "''test': not supported" $ return $ -$messages: echo "messages" +$ +$messages: echo "''test'" $ set noOn -$ gawk -f messages.awk > out2 >& out3 -$ cmp out1.ok out1. -$ if $status then rm out1.; -$ cmp out2.ok out2. -$ if $status then rm out2.; -$ cmp out3.ok out3. -$ if $status then rm out3.; +$ gawk -f 'test'.awk > _out2 >& _out3 +$ cmp out1.ok sys$disk:[]_out1. +$ if $status then rm _out1.; +$ cmp out2.ok sys$disk:[]_out2. +$ if $status then rm _out2.; +$ cmp out3.ok sys$disk:[]_out3. +$ if $status then rm _out3.; $ set On $ return $ @@ -396,34 +391,34 @@ $argarray: echo "argarray" $ define/User TEST "test" !this is useless... $ gawk -f argarray.awk ./argarray.in - >_argarray.tmp just a test -$ cmp argarray.ok _argarray.tmp +$ cmp argarray.ok sys$disk:[]_argarray.tmp $ if $status then rm _argarray.tmp; $ return $ $fstabplus: echo "fstabplus" $ gawk -f fstabplus.awk >_fstabplus.tmp 1 2 -$ cmp fstabplus.ok _fstabplus.tmp +$ cmp fstabplus.ok sys$disk:[]_fstabplus.tmp $ if $status then rm _fstabplus.tmp; $ return $ $longwrds: echo "longwrds" $ gawk -v "SORT=sort sys$input: _longwrds.tmp" -f longwrds.awk longwrds.in >_NL: -$ cmp longwrds.ok _longwrds.tmp +$ cmp longwrds.ok sys$disk:[]_longwrds.tmp $ if $status then rm _longwrds.tmp; $ return $ $fieldwdth: echo "fieldwdth" $ gawk -v "FIELDWIDTHS=2 3 4" "{ print $2}" >_fieldwdth.tmp 123456789 -$ cmp fieldwdth.ok _fieldwdth.tmp +$ cmp fieldwdth.ok sys$disk:[]_fieldwdth.tmp $ if $status then rm _fieldwdth.tmp; $ return $ $ignrcase: echo "ignrcase" $ gawk -v "IGNORECASE=1" "{ sub(/y/, """"); print}" >_ignrcase.tmp xYz -$ cmp ignrcase.ok _ignrcase.tmp +$ cmp ignrcase.ok sys$disk:[]_ignrcase.tmp $ if $status then rm _ignrcase.tmp; $ return $ @@ -441,7 +436,7 @@ $ $posix: echo "posix" $ gawk -f posix.awk >_posix.tmp 1:2,3 4 -$ cmp posix.ok _posix.tmp +$ cmp posix.ok sys$disk:[]_posix.tmp $ if $status then rm _posix.tmp; $ return $ @@ -476,19 +471,19 @@ $ return $ $compare: echo "compare" $ gawk -f compare.awk 0 1 compare.in >_compare.tmp -$ cmp compare.ok _compare.tmp +$ cmp compare.ok sys$disk:[]_compare.tmp $ if $status then rm _compare.tmp; $ return $ $rs: echo "rs" $ gawk -v "RS=" "{ print $1, $2}" rs.in >_rs.tmp -$ cmp rs.ok _rs.tmp +$ cmp rs.ok sys$disk:[]_rs.tmp $ if $status then rm _rs.tmp; $ return $ $fsbs: echo "fsbs" $ gawk -v "FS=\" "{ print $1, $2 }" fsbs.in >_fsbs.tmp -$ cmp fsbs.ok _fsbs.tmp +$ cmp fsbs.ok sys$disk:[]_fsbs.tmp $ if $status then rm _fsbs.tmp; $ return $ @@ -496,14 +491,14 @@ $inftest: echo "inftest" $ !! echo "This test is very machine specific..." $ set noOn $ gawk -f inftest.awk >_inftest.tmp -$ !! cmp inftest.ok _inftest.tmp !just care that gawk doesn't crash... +$ !! cmp inftest.ok sys$disk:[]_inftest.tmp !just care that gawk doesn't crash... $ if $status then rm _inftest.tmp; $ set On $ return $ $getline2: echo "getline2" $ gawk -f getline2.awk getline2.awk getline2.awk >_getline2.tmp -$ cmp getline2.ok _getline2.tmp +$ cmp getline2.ok sys$disk:[]_getline2.tmp $ if $status then rm _getline2.tmp; $ return $ @@ -515,20 +510,20 @@ $ return $ $negexp: echo "negexp" $ gawk "BEGIN { a = -2; print 10^a }" >_negexp.tmp -$ cmp negexp.ok _negexp.tmp +$ cmp negexp.ok sys$disk:[]_negexp.tmp $ if $status then rm _negexp.tmp; $ return $ $awkpath: echo "awkpath" $ define/User AWK_LIBRARY [],[.lib] $ gawk -f awkpath.awk >_awkpath.tmp -$ cmp awkpath.ok _awkpath.tmp +$ cmp awkpath.ok sys$disk:[]_awkpath.tmp $ if $status then rm _awkpath.tmp; $ return $ $argtest: echo "argtest" $ gawk -f argtest.awk -x -y abc >_argtest.tmp -$ cmp argtest.ok _argtest.tmp +$ cmp argtest.ok sys$disk:[]_argtest.tmp $ if $status then rm _argtest.tmp; $ return $ @@ -537,7 +532,7 @@ $ on error then continue $ gawk -f 2>&1 >_badargs.too $! search/Match=Nor _badargs.too "patchlevel" /Output=_badargs.tmp $ gawk "/patchlevel/{next}; {gsub(""\"""",""'""); print}" <_badargs.too >_badargs.tmp -$ cmp badargs.ok _badargs.tmp +$ cmp badargs.ok sys$disk:[]_badargs.tmp $ if $status then rm _badargs.tmp;,_badargs.too; $ return $ @@ -546,7 +541,7 @@ $ ! This one might fail, depending on the tool used to unpack the $ ! distribution. Some will add a final newline if the file lacks one. $ AWKPATH_srcdir $ gawk --lint -f nonl.awk _NL: >_nonl.tmp 2>&1 -$ cmp nonl.ok _nonl.tmp +$ cmp nonl.ok sys$disk:[]_nonl.tmp $ if $status then rm _nonl.tmp; $ return $ @@ -556,14 +551,14 @@ $ AWKPATH_srcdir $ gawk --lint -f defref.awk >_defref.tmp 2>&1 $ if .not.$status then call exit_code 2 _defref.tmp $ set On -$ cmp defref.ok _defref.tmp +$ cmp defref.ok sys$disk:[]_defref.tmp $ if $status then rm _defref.tmp; $ return $ $nofmtch: echo "nofmtch" $ AWKPATH_srcdir $ gawk --lint -f nofmtch.awk >_nofmtch.tmp 2>&1 -$ cmp nofmtch.ok _nofmtch.tmp +$ cmp nofmtch.ok sys$disk:[]_nofmtch.tmp $ if $status then rm _nofmtch.tmp; $ return $ @@ -585,7 +580,7 @@ $ write ftmp wkd," ",mon," ",day," ",tim," ",tz," ",yr $ close ftmp $ gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk strftime.in $ set noOn -$ cmp strftime.ok _strftime.tmp +$ cmp strftime.ok sys$disk:[]_strftime.tmp $ if $status then rm _strftime.tmp;,strftime.ok;*,strftime.in;* $ set On $ return @@ -593,23 +588,84 @@ $ $litoct: echo "litoct" $ gawk --traditional -f litoct.awk >_litoct.tmp ab -$ cmp litoct.ok _litoct.tmp +$ cmp litoct.ok sys$disk:[]_litoct.tmp $ if $status then rm _litoct.tmp; $ return $ $resplit: echo "resplit" $ gawk -- "{ FS = "":""; $0 = $0; print $2 }" >_resplit.tmp a:b:c d:e:f -$ cmp resplit.ok _resplit.tmp +$ cmp resplit.ok sys$disk:[]_resplit.tmp $ if $status then rm _resplit.tmp; $ return $ $intprec: echo "intprec" $ gawk -f intprec.awk >_intprec.tmp 2>&1 -$ cmp intprec.ok _intprec.tmp +$ cmp intprec.ok sys$disk:[]_intprec.tmp $ if $status then rm _intprec.tmp; $ return $ +$incdupe: echo "''test'" +$ set noOn +$ gawk --lint -i inclib -i inclib.awk "BEGIN {print sandwich(""a"", ""b"", ""c"")}" > _'test'.tmp 2>&1 +$ if .not. $status then call exit_code 1 _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* +$ set On +$ return +$ +$incdupe2: echo "''test'" +$ set noOn +$ gawk --lint -f inclib -f inclib.awk >_'test'.tmp 2>&1 +$ if .not. $status then call exit_code 1 _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* +$ set On +$ return +$ +$incdupe3: echo "''test'" +$ gawk --lint -f hello -f hello.awk >_'test'.tmp 2>&1 +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* +$ return +$ +$include2: echo "''test'" +$ gawk -i inclib "BEGIN {print sandwich(""a"", ""b"", ""c"")}" >_'test'.tmp 2>&1 +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* +$ return +$ +$id: +$symtab1: +$symtab2: +$symtab3: echo "''test'" +$ set noOn +$ gawk -f 'test'.awk >_'test'.tmp 2>&1 +$ if .not. $status then call exit_code 2 _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* +$ set On +$ return +$ +$symtab4: +$symtab5: echo "''test'" +$ set noOn +$ gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1 +$ if .not. $status then call exit_code 2 _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* +$ set On +$ return +$ +$symtab6: echo "''test'" +$ set noOn +$ gawk -d__'test'.tmp -f 'test'.awk +$ pipe search __'test'.tmp "ENVIRON" /match=nand | search sys$pipe "PROCINFO" /match=nand > _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;*,__'test'.tmp;* +$ set On +$ return +$ $childin: echo "childin skipped" $ return $! note: this `childin' test currently [gawk 3.0.3] fails for vms @@ -619,28 +675,28 @@ $ echo "note: type ``hi<return><ctrl/Z>'",- $!! @echo hi | gawk "BEGIN { ""cat"" | getline; print; close(""cat"") }" >_childin.tmp $ gawk "BEGIN { ""type sys$input:"" | getline; print; close(""type sys$input:"") }" >_childin.tmp hi -$ cmp childin.ok _childin.tmp +$ cmp childin.ok sys$disk:[]_childin.tmp $ if $status then rm _childin.tmp; $ return $ $noeffect: echo "noeffect" $ AWKPATH_srcdir $ gawk --lint -f noeffect.awk >_noeffect.tmp 2>&1 -$ cmp noeffect.ok _noeffect.tmp +$ cmp noeffect.ok sys$disk:[]_noeffect.tmp $ if $status then rm _noeffect.tmp; $ return $ $numsubstr: echo "numsubstr" $ AWKPATH_srcdir $ gawk -f numsubstr.awk numsubstr.in >_numsubstr.tmp -$ cmp numsubstr.ok _numsubstr.tmp +$ cmp numsubstr.ok sys$disk:[]_numsubstr.tmp $ if $status then rm _numsubstr.tmp; $ return $ $prmreuse: echo "prmreuse" $ if f$search("prmreuse.ok").eqs."" then create prmreuse.ok $ gawk -f prmreuse.awk >_prmreuse.tmp -$ cmp prmreuse.ok _prmreuse.tmp +$ cmp prmreuse.ok sys$disk:[]_prmreuse.tmp $ if $status then rm _prmreuse.tmp; $ return $ @@ -650,7 +706,7 @@ $ return $!!fflush: echo "fflush" $ ! hopelessly Unix-specific $!! @fflush.sh >_fflush.tmp -$ cmp fflush.ok _fflush.tmp +$ cmp fflush.ok sys$disk:[]_fflush.tmp $ if $status then rm _fflush.tmp; $ return $ @@ -659,47 +715,47 @@ $ echo "getlnhd skipped" $ return $!!getlnhd: echo "getlnhd" $ gawk -f getlnhd.awk >_getlnhd.tmp -$ cmp getlnhd.ok _getlnhd.tmp +$ cmp getlnhd.ok sys$disk:[]_getlnhd.tmp $ if $status then rm _getlnhd.tmp; $ return $ $tweakfld: echo "tweakfld" $ gawk -f tweakfld.awk tweakfld.in >_tweakfld.tmp $ if f$search("errors.cleanup").nes."" then rm errors.cleanup;* -$ cmp tweakfld.ok _tweakfld.tmp +$ cmp tweakfld.ok sys$disk:[]_tweakfld.tmp $ if $status then rm _tweakfld.tmp; $ return $ $clsflnam: echo "clsflnam" $ if f$search("clsflnam.ok").eqs."" then create clsflnam.ok $ gawk -f clsflnam.awk clsflnam.in >_clsflnam.tmp 2>&1 -$ cmp clsflnam.ok _clsflnam.tmp +$ cmp clsflnam.ok sys$disk:[]_clsflnam.tmp $ if $status then rm _clsflnam.tmp; $ return $ $mmap8k: echo "mmap8k" $ gawk "{ print }" mmap8k.in >_mmap8k.tmp -$ cmp mmap8k.in _mmap8k.tmp +$ cmp mmap8k.in sys$disk:[]_mmap8k.tmp $ if $status then rm _mmap8k.tmp; $ return $ $eofsplit: echo "eofsplit" $ if f$search("eofsplit.ok").eqs."" then create eofsplit.ok $ gawk -f eofsplit.awk >_eofsplit.tmp -$ cmp eofsplit.ok _eofsplit.tmp +$ cmp eofsplit.ok sys$disk:[]_eofsplit.tmp $ if $status then rm _eofsplit.tmp; $ return $ $back89: echo "back89" $ gawk "/a\8b/" back89.in >_back89.tmp -$ cmp back89.ok _back89.tmp +$ cmp back89.ok sys$disk:[]_back89.tmp $ if $status then rm _back89.tmp; $ return $ $tradanch: echo "tradanch" $ if f$search("tradanch.ok").eqs."" then create tradanch.ok $ gawk --traditional -f tradanch.awk tradanch.in >_tradanch.tmp -$ cmp tradanch.ok _tradanch.tmp +$ cmp tradanch.ok sys$disk:[]_tradanch.tmp $ if $status then rm _tradanch.tmp; $ return $ @@ -707,14 +763,14 @@ $pid: echo "pid" $ pid = f$integer("%x" + f$getjpi("","PID")) $ ppid = f$integer("%x" + f$getjpi("","OWNER")) $ gawk -v "ok_pid=''pid'" -v "ok_ppid=''ppid'" -f pid.awk >_pid.tmp >& _NL: -$ cmp pid.ok _pid.tmp +$ cmp pid.ok sys$disk:[]_pid.tmp $ if $status then rm _pid.tmp; $ return $ $strftlng: echo "strftlng" $ define/User TZ "UTC" !useless $ gawk -f strftlng.awk >_strftlng.tmp -$ cmp strftlng.ok _strftlng.tmp +$ cmp strftlng.ok sys$disk:[]_strftlng.tmp $ if $status then rm _strftlng.tmp; $ return $ @@ -722,7 +778,7 @@ $nfldstr: echo "nfldstr" $ if f$search("nfldstr.ok").eqs."" then create nfldstr.ok $ gawk "$1 == 0 { print ""bug"" }" >_nfldstr.tmp -$ cmp nfldstr.ok _nfldstr.tmp +$ cmp nfldstr.ok sys$disk:[]_nfldstr.tmp $ if $status then rm _nfldstr.tmp; $ return $ @@ -732,13 +788,13 @@ $!! @echo A B C D E | tr -d '\12' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in $!! so just read a line from sys$input instead $ gawk "{ print $NF }" - nors.in >_nors.tmp A B C D E -$ cmp nors.ok _nors.tmp +$ cmp nors.ok sys$disk:[]_nors.tmp $ if $status then rm _nors.tmp; $ return $ $reint: echo "reint" $ gawk --re-interval -f reint.awk reint.in >_reint.tmp -$ cmp reint.ok _reint.tmp +$ cmp reint.ok sys$disk:[]_reint.tmp $ if $status then rm _reint.tmp; $ return $ @@ -748,7 +804,7 @@ $ AWKPATH_srcdir $ gawk -f noparms.awk >_noparms.tmp 2>&1 $ if .not.$status then call exit_code 1 _noparms.tmp $ set On -$ cmp noparms.ok _noparms.tmp +$ cmp noparms.ok sys$disk:[]_noparms.tmp $ if $status then rm _noparms.tmp; $ return $ @@ -758,7 +814,7 @@ $ define/User test1 []test1. $ define/User test2 []test2. $ gawk -f pipeio1.awk >_pipeio1.tmp $ rm test1.;,test2.; -$ cmp pipeio1.ok _pipeio1.tmp +$ cmp pipeio1.ok sys$disk:[]_pipeio1.tmp $ if $status then rm _pipeio1.tmp; $ return $ @@ -769,15 +825,15 @@ $!!pipeio2: echo "pipeio2" $ cat = "gawk -- {print}" $ tr = "??" !unfortunately, no trivial substitution available... $ gawk -v "SRCDIR=." -f pipeio2.awk >_pipeio2.tmp -$ cmp pipeio2.ok _pipeio2.tmp +$ cmp pipeio2.ok sys$disk:[]_pipeio2.tmp $ if $status then rm _pipeio2.tmp; $ return $ $clobber: echo "clobber" $ gawk -f clobber.awk >_clobber.tmp -$ cmp clobber.ok seq. +$ cmp clobber.ok sys$disk:[]seq. $ if $status then rm seq.;* -$ cmp clobber.ok _clobber.tmp +$ cmp clobber.ok sys$disk:[]_clobber.tmp $ if $status then rm _clobber.tmp; $ return $ @@ -786,7 +842,7 @@ $ set noOn $ gawk -f nasty.awk >_nasty.tmp $ call fixup_LRL nasty.ok $ call fixup_LRL _nasty.tmp "purge" -$ cmp nasty.ok _nasty.tmp +$ cmp nasty.ok sys$disk:[]_nasty.tmp $ if $status then rm _nasty.tmp; $ set On $ return @@ -796,7 +852,7 @@ $ set noOn $ gawk -f nasty2.awk >_nasty2.tmp $ call fixup_LRL nasty2.ok $ call fixup_LRL _nasty2.tmp "purge" -$ cmp nasty2.ok _nasty2.tmp +$ cmp nasty2.ok sys$disk:[]_nasty2.tmp $ if $status then rm _nasty2.tmp; $ set On $ return @@ -805,7 +861,9 @@ $aadelete1: $aadelete2: $arrayparm: $fnaryscl: -$match2: +$functab1: +$functab2: +$functab3: $nastyparm: $opasnslf: $opasnidx: @@ -817,36 +875,36 @@ $ set noOn $ gawk -f 'test'.awk >_'test'.tmp 2>&1 $ if .not.$status then call exit_code 2 _'test'.tmp $ set On -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ $arynocls: echo "arynocls" $ gawk -v "INPUT"=arynocls.in -f arynocls.awk >_arynocls.tmp -$ cmp arynocls.ok _arynocls.tmp +$ cmp arynocls.ok sys$disk:[]_arynocls.tmp $ if $status then rm _arynocls.tmp; $ return $ $getlnbuf: echo "getlnbuf" $ gawk -f getlnbuf.awk getlnbuf.in >_getlnbuf.tmp $ gawk -f gtlnbufv.awk getlnbuf.in >_getlnbuf.too -$ cmp getlnbuf.ok _getlnbuf.tmp +$ cmp getlnbuf.ok sys$disk:[]_getlnbuf.tmp $ if $status then rm _getlnbuf.tmp; -$ cmp getlnbuf.ok _getlnbuf.too +$ cmp getlnbuf.ok sys$disk:[]_getlnbuf.too $ if $status then rm _getlnbuf.too; $ return $ $lint: echo "lint" $ AWKPATH_srcdir $ gawk -f lint.awk >_lint.tmp 2>&1 -$ cmp lint.ok _lint.tmp +$ cmp lint.ok sys$disk:[]_lint.tmp $ if $status then rm _lint.tmp; $ return $ $lintold: echo "lintold" $ AWKPATH_srcdir $ gawk -f lintold.awk --lint-old <lintold.in >_lintold.tmp 2>&1 -$ cmp lintold.ok _lintold.tmp +$ cmp lintold.ok sys$disk:[]_lintold.tmp $ if $status then rm _lintold.tmp; $ return $ @@ -854,7 +912,7 @@ $ofmtbig: echo "ofmtbig" $ set noOn $ gawk -f ofmtbig.awk ofmtbig.in >_ofmtbig.tmp 2>&1 $ set On -$ cmp ofmtbig.ok _ofmtbig.tmp +$ cmp ofmtbig.ok sys$disk:[]_ofmtbig.tmp $ if $status then rm _ofmtbig.tmp; $ return $ @@ -892,13 +950,13 @@ $ return $ $redfilnm: echo "redfilnm" $ gawk -f redfilnm.awk srcdir="." redfilnm.in >_redfilnm.tmp -$ cmp redfilnm.ok _redfilnm.tmp +$ cmp redfilnm.ok sys$disk:[]_redfilnm.tmp $ if $status then rm _redfilnm.tmp; $ return $ $leaddig: echo "leaddig" $ gawk -v "x=2E" -f leaddig.awk >_leaddig.tmp -$ cmp leaddig.ok _leaddig.tmp +$ cmp leaddig.ok sys$disk:[]_leaddig.tmp $ if $status then rm _leaddig.tmp; $ return $ @@ -907,7 +965,7 @@ $ echo "clos1way: not supported" $ return $!!clos1way: echo "clos1way" $ gawk -f clos1way.awk >_clos1way.tmp -$ cmp clos1way.ok _clos1way.tmp +$ cmp clos1way.ok sys$disk:[]_clos1way.tmp $ if $status then rm _clos1way.tmp; $ return $ @@ -916,7 +974,7 @@ $ set noOn $ AWKPATH_srcdir $ gawk --lint -f shadow.awk >_shadow.tmp 2>&1 $ set On -$ cmp shadow.ok _shadow.tmp +$ cmp shadow.ok sys$disk:[]_shadow.tmp $ if $status then rm _shadow.tmp; $ return $ @@ -926,7 +984,7 @@ $ AWKPATH_srcdir $ gawk --lint -f lintwarn.awk >_lintwarn.tmp 2>&1 $ if .not.$status then call exit_code 1 _lintwarn.tmp $ set On -$ cmp lintwarn.ok _lintwarn.tmp +$ cmp lintwarn.ok sys$disk:[]_lintwarn.tmp $ if $status then rm _lintwarn.tmp; $ return $ @@ -937,14 +995,14 @@ $!! the records here are too long for DIFF to handle $!! so assume success as long as gawk doesn't crash $!! call fixup_LRL longsub.ok $!! call fixup_LRL _longsub.tmp "purge" -$!! cmp longsub.ok _longsub.tmp +$!! cmp longsub.ok sys$disk:[]_longsub.tmp $ if $status then rm _longsub.tmp; $ set On $ return $ $arrayprm3: echo "arrayprm3" $ gawk -f arrayprm3.awk arrayprm3.in >_arrayprm3.tmp -$ cmp arrayprm3.ok _arrayprm3.tmp +$ cmp arrayprm3.ok sys$disk:[]_arrayprm3.tmp $ if $status then rm _arrayprm3.tmp; $ return $ @@ -958,7 +1016,6 @@ $aryprm4: $aryprm5: $aryprm6: $aryprm7: -$delfunc: $dfastress: $nfneg: $numindex: @@ -970,18 +1027,19 @@ $ set noOn $ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ if .not.$status then call exit_code 2 _'test'.tmp $ set On -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ -$fnamedat: -$fnasgnm: +$ ! +$ ! For tests requiring exit code 2 +$ ! $ echo "''test'" $ set noOn $ gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1 $ if .not.$status then call exit_code 2 _'test'.tmp $ set On -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -989,12 +1047,15 @@ $exitval2: echo "exitval2 skipped" $ return $!!exitval2: echo "exitval2" $ gawk -f exitval2.awk exitval2.in >_exitval2.tmp -$ cmp exitval2.ok _exitval2.tmp +$ cmp exitval2.ok sys$disk:[]_exitval2.tmp $ if $status then rm _exitval2.tmp; $ return $ +$delfunc: $fcall_exit2: +$fnamedat: $fnarray2: +$fnasgnm: $fnmisc: $gsubasgn: $unterm: @@ -1003,7 +1064,7 @@ $ set noOn $ gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ if .not.$status then call exit_code 1 _'test'.tmp $ set On -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1011,13 +1072,13 @@ $getline: echo "getline skipped" $ return $!!getline: echo "getline" $ gawk -f getline.awk getline.in >_getline.tmp -$ cmp getline.ok _getline.tmp +$ cmp getline.ok sys$disk:[]_getline.tmp $ if $status then rm _getline.tmp; $ return $ $gsubtst3: echo "gsubtst3" $ gawk --re-interval -f gsubtst3.awk gsubtst3.in >_gsubtst3.tmp -$ cmp gsubtst3.ok _gsubtst3.tmp +$ cmp gsubtst3.ok sys$disk:[]_gsubtst3.tmp $ if $status then rm _gsubtst3.tmp; $ return $ @@ -1029,7 +1090,7 @@ $ oldout = f$search("_iobug1.tmp;") $ gawk -f iobug1.awk iobug1.in >_iobug1.tmp $ badout = f$search("_iobug1.tmp;-1") $ if badout.nes."" .and. badout.nes.oldout then rm 'badout' -$ cmp iobug1.ok _iobug1.tmp +$ cmp iobug1.ok sys$disk:[]_iobug1.tmp $ if $status then rm _iobug1.tmp; $ return $ @@ -1037,7 +1098,7 @@ $rstest4: echo "rstest4 skipped" $ return $!!rstest4: echo "rstest4" $ gawk -f rstest4.awk rstest4.in >_rstest4.tmp -$ cmp rstest4.ok _rstest4.tmp +$ cmp rstest4.ok sys$disk:[]_rstest4.tmp $ if $status then rm _rstest4.tmp; $ return $ @@ -1045,13 +1106,14 @@ $rstest5: echo "rstest5 skipped" $ return $!!rstest5: echo "rstest5" $ gawk -f rstest5.awk rstest5.in >_rstest5.tmp -$ cmp rstest5.ok _rstest5.tmp +$ cmp rstest5.ok sys$disk:[]_rstest5.tmp $ if $status then rm _rstest5.tmp; $ return $ $fcall_exit: $fnarray: $funsmnam: +$match2: $paramdup: $paramres: $parseme: @@ -1062,7 +1124,7 @@ $ set noOn $ gawk -f 'test'.awk >_'test'.tmp 2>&1 $ if .not.$status then call exit_code 1 _'test'.tmp $ set On -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1073,7 +1135,7 @@ $uninit5: $uninitialized: $ echo "''test'" $ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1087,7 +1149,7 @@ $ gawk "{gsub(""file specification syntax error"", ""no such file or directory"" _space.tmp >_space.too $ rm _space.tmp; $ mv _space.too _space.tmp -$ igncascmp space.ok _space.tmp +$ igncascmp space.ok sys$disk:[]_space.tmp $ if $status then rm _space.tmp; $ return $ @@ -1095,7 +1157,7 @@ $posix2008sub: $printf0: $ echo "''test'" $ gawk --posix -f 'test'.awk >_'test'.tmp -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1114,7 +1176,7 @@ $ pipe - gawk -- "BEGIN {RS = """"; ORS = ""\n\n""}; {print}" | - gawk -- "/^[^a]/; END {print NR}" >_rsnulbig.tmp $ set On -$ cmp rsnulbig.ok _rsnulbig.tmp +$ cmp rsnulbig.ok sys$disk:[]_rsnulbig.tmp $ if $status then rm _rsnulbig.tmp; $ return $ @@ -1133,7 +1195,7 @@ $ pipe - gawk -- "BEGIN {RS=""""; ORS=""\n\n"" }; {print}" | - gawk -- "/^[^a]/; END {print NR}" >_rsnulbig2.tmp $ set On -$ cmp rsnulbig2.ok _rsnulbig2.tmp +$ cmp rsnulbig2.ok sys$disk:[]_rsnulbig2.tmp $ if $status then rm _rsnulbig2.tmp; $ return $ @@ -1144,7 +1206,7 @@ $widesub3: $ echo "''test'" $ gosub define_gawklocale $ gawk -f 'test'.awk 'test'.in >_'test'.tmp -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1156,7 +1218,7 @@ $widesub4: $ echo "''test'" $ gosub define_gawklocale $ gawk -f 'test'.awk >_'test'.tmp -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1164,13 +1226,13 @@ $! This test is somewhat suspect for vms due to exit code manipulation $exitval1: echo "exitval1" $ gawk -f exitval1.awk >_exitval1.tmp 2>&1 $ if $status then call exit_code 0 _exitval1.tmp -$ cmp exitval1.ok _exitval1.tmp +$ cmp exitval1.ok sys$disk:[]_exitval1.tmp $ if $status then rm _exitval1.tmp; $ return $ $fsspcoln: echo "fsspcoln" $ gawk -f fsspcoln.awk "FS=[ :]+" fsspcoln.in >_forspcoln.tmp -$ cmp fsspcoln.ok _forspcoln.tmp +$ cmp fsspcoln.ok sys$disk:[]_forspcoln.tmp $ if $status then rm _forspcoln.tmp; $ return $ @@ -1179,13 +1241,13 @@ $ ! assume we're running in the test subdirectory; we don't want to $ ! perform a messy conversion of [] into its file specification $ gawk -v "SRCDIR=[-]test.dir" -f getlndir.awk >_getlndir.tmp $! getlndir.ok expects "Is a directory", we see "is a directory" -$ igncascmp getlndir.ok _getlndir.tmp +$ igncascmp getlndir.ok sys$disk:[]_getlndir.tmp $ if $status then rm _getlndir.tmp; $ return $ $rsstart2: echo "rsstart2" $ gawk -f rsstart2.awk rsstart1.in >_rsstart2.tmp -$ cmp rsstart2.ok _rsstart2.tmp +$ cmp rsstart2.ok sys$disk:[]_rsstart2.tmp $ if $status then rm _rsstart2.tmp; $ return $ @@ -1207,7 +1269,7 @@ $ pipe - gawk -- "FNR <= 10" rsstart1.in | - gawk -f rsstart2.awk >_rsstart3.tmp $ set On -$ cmp rsstart3.ok _rsstart3.tmp +$ cmp rsstart3.ok sys$disk:[]_rsstart3.tmp $ if $status then rm _rsstart3.tmp; $ return $ @@ -1238,7 +1300,7 @@ $ gawk -- "FNR==1 {sub(""1"",""0"")}; {print}" _rtlen01.tmp >_rtlen01.too $ rm _rtlen01.tmp; $ mv _rtlen01.too _rtlen01.tmp $ endif -$ cmp 'f' _'test'.tmp +$ cmp 'f' sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1257,7 +1319,7 @@ $ endsubroutine !do__rtlen01 $ $nondec2: echo "nondec2" $ gawk --non-decimal-data -v "a=0x1" -f nondec2.awk >_nondec2.tmp -$ cmp nondec2.ok _nondec2.tmp +$ cmp nondec2.ok sys$disk:[]_nondec2.tmp $ if $status then rm _nondec2.tmp; $ return $ @@ -1274,27 +1336,27 @@ $ gawk "{gsub(""no-such-file"", ""no/such/file""); print}" _nofile.tmp >_nofile. $ rm _nofile.tmp; $ mv _nofile.too _nofile.tmp $! nofile.ok expects "No such file ...", we see "no such file ..." -$ igncascmp nofile.ok _nofile.tmp +$ igncascmp nofile.ok sys$disk:[]_nofile.tmp $ if $status then rm _nofile.tmp; $ return $ $binmode1: echo "binmode1" $ gawk -v "BINMODE=3" "BEGIN { print BINMODE }" >_binmode1.tmp -$ cmp binmode1.ok _binmode1.tmp +$ cmp binmode1.ok sys$disk:[]_binmode1.tmp $ if $status then rm _binmode1.tmp; $ return $ $subi18n: echo "subi18n" $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f subi18n.awk >_subi18n.tmp -$ cmp subi18n.ok _subi18n.tmp +$ cmp subi18n.ok sys$disk:[]_subi18n.tmp $ if $status then rm _subi18n.tmp; $ return $ $concat4: echo "concat4" $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f concat4.awk concat4.in >_concat4.tmp -$ cmp concat4.ok _concat4.tmp +$ cmp concat4.ok sys$disk:[]_concat4.tmp $ if $status then rm _concat4.tmp; $ return $ @@ -1302,7 +1364,7 @@ $devfd: echo "devfd: not supported" $ return $!!devfd: echo "devfd" $ gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in4 5< devfd.in5 >_devfd.tmp -$ cmp devfd.ok _devfd.tmp +$ cmp devfd.ok sys$disk:[]_devfd.tmp $ if $status then rm _devfd.tmp; $ return $ @@ -1310,7 +1372,7 @@ $devfd1: echo "devfd1: not supported" $ return $!!devfd1: echo "devfd1" $ gawk -f devfd1.awk 4< devfd.in1 5< devfd.in2 >_devfd1.tmp -$ cmp devfd1.ok _devfd1.tmp +$ cmp devfd1.ok sys$disk:[]_devfd1.tmp $ if $status then rm _devfd1.tmp; $ return $ @@ -1319,7 +1381,7 @@ $ return $!!devfd2: echo "devfd2" $! The program text is the '1' which will print each record. How compact can you get? $ gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in1 5< devfd.in2 >_devfd2.tmp -$ cmp devfd2.ok _devfd2.tmp +$ cmp devfd2.ok sys$disk:[]_devfd2.tmp $ if $status then rm _devfd2.tmp; $ return $ @@ -1340,21 +1402,21 @@ $ set noOn $ gawk -f /dev/null --source "BEGIN {return junk}" >_mixed1.tmp 2>&1 $ if .not.$status then call exit_code 1 _mixed1.tmp $ set On -$ cmp mixed1.ok _mixed1.tmp +$ cmp mixed1.ok sys$disk:[]_mixed1.tmp $ if $status then rm _mixed1.tmp; $ return $ $mtchi18n: echo "mtchi18n" $ define/User GAWKLOCALE "ru_RU.UTF-8" $ gawk -f mtchi18n.awk mtchi18n.in >_mtchi18n.tmp -$ cmp mtchi18n.ok _mtchi18n.tmp +$ cmp mtchi18n.ok sys$disk:[]_mtchi18n.tmp $ if $status then rm _mtchi18n.tmp; $ return $ $reint2: echo "reint2" $ gosub define_gawklocale $ gawk --re-interval -f reint2.awk reint2.in >_reint2.tmp -$ cmp reint2.ok _reint2.tmp +$ cmp reint2.ok sys$disk:[]_reint2.tmp $ if $status then rm _reint2.tmp; $ return $ @@ -1362,7 +1424,7 @@ $localenl: echo "localenl skipped" $ return $!!localenl: echo "localenl" $ @localenl.com /Output=_localenl.tmp ! sh ./localenl.sh >tmp. -$ cmp localenl.ok _localenl.tmp +$ cmp localenl.ok sys$disk:[]_localenl.tmp $ if $status then rm _localenl.tmp; $ return $ @@ -1372,7 +1434,7 @@ $!!mbprintf1: echo "mbprintf1" $! Makefile test exports this, but we don't want to impact user's environment $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f mbprintf1.awk mbprintf1.in >_mbprintf1.tmp -$ cmp mbprintf1.ok _mbprintf1.tmp +$ cmp mbprintf1.ok sys$disk:[]_mbprintf1.tmp $ if $status then rm _mbprintf1.tmp; $ return $ @@ -1380,7 +1442,7 @@ $mbprintf2: echo "mbprintf2" $! Makefile test exports this, ... $ define/User GAWKLOCALE "ja_JP.UTF-8" $ gawk -f mbprintf2.awk >_mbprintf2.tmp -$ cmp mbprintf2.ok _mbprintf2.tmp +$ cmp mbprintf2.ok sys$disk:[]_mbprintf2.tmp $ if $status then rm _mbprintf2.tmp; $ return $ @@ -1388,7 +1450,7 @@ $mbprintf3: echo "mbprintf3" $! Makefile test exports this, ... $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f mbprintf3.awk mbprintf3.in >_mbprintf2.tmp -$ cmp mbprintf3.ok _mbprintf2.tmp +$ cmp mbprintf3.ok sys$disk:[]_mbprintf2.tmp $ if $status then rm _mbprintf2.tmp; $ return $ @@ -1398,14 +1460,14 @@ $!!mbfw1: echo "mbfw1" $! Makefile test exports this, ... $ define/User GAWKLOCALE "en_US.UTF-8" $ gawk -f mbfw1.awk mbfw1.in >_mbfw1.tmp -$ cmp mbfw1.ok _mbfw1.tmp +$ cmp mbfw1.ok sys$disk:[]_mbfw1.tmp $ if $status then rm _mbfw1.tmp; $ return $ $gsubtst6: echo "gsubtst6" $ define/User GAWKLOCALE "C" $ gawk -f gsubtst6.awk >_gsubtst6.tmp -$ cmp gsubtst6.ok _gsubtst6.tmp +$ cmp gsubtst6.ok sys$disk:[]_gsubtst6.tmp $ if $status then rm _gsubtst6.tmp; $ return $ @@ -1413,7 +1475,7 @@ $mbstr1: echo "mbstr1" $ gosub define_gawklocale $ AWKPATH_srcdir $ gawk -f mbstr1.awk >_mbstr1.tmp -$ cmp mbstr1.ok _mbstr1.tmp +$ cmp mbstr1.ok sys$disk:[]_mbstr1.tmp $ if $status then rm _mbstr1.tmp; $ return $ @@ -1423,7 +1485,7 @@ $ echo "''test'" $ set noOn $ gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1 $ set On -$ cmp 'test'.ok _'test'.tmp +$ cmp 'test'.ok sys$disk:[]_'test'.tmp $ if $status then rm _'test'.tmp; $ return $ @@ -1436,7 +1498,7 @@ $ if floatmode.lt.2 $ then echo "fmtspcl: not supported" $ else echo "fmtspcl" $ gawk -f fmtspcl.awk >_fmtspcl.tmp 2>&1 -$ cmp fmtspcl.ok _fmtspcl.tmp +$ cmp fmtspcl.ok sys$disk:[]_fmtspcl.tmp $ if $status then rm _fmtspcl.tmp; $ endif $ return @@ -1452,7 +1514,7 @@ $ hugeval = huge_'floatmode' $ set noOn $ gawk -v "HUGEVAL=''hugeval'" -f intformat.awk >_intformat.tmp 2>&1 $ set On -$ cmp intformat.ok _intformat.tmp +$ cmp intformat.ok sys$disk:[]_intformat.tmp $ if $status then rm _intformat.tmp; $ return $ @@ -1472,73 +1534,56 @@ $ gawk -f - _beginfile1.tmp >_beginfile1.too gsub("no-such-file","file"); gsub("Makefile.in","Makefile"); print } $ rm _beginfile1.tmp; $ mv _beginfile1.too _beginfile1.tmp -$ igncascmp beginfile1.ok _beginfile1.tmp +$ igncascmp beginfile1.ok sys$disk:[]_beginfile1.tmp $ if $status then rm _beginfile1.tmp; $ return $ $dumpvars: echo "dumpvars" $ gawk --dump-variables 1 <dumpvars.in >_NL: 2>&1 $ mv awkvars.out _dumpvars.tmp -$ cmp dumpvars.ok _dumpvars.tmp +$ cmp dumpvars.ok sys$disk:[]_dumpvars.tmp $ if $status then rm _dumpvars.tmp; $ return $ -$profile1: echo "profile1" -$ ! this profile test is run with gawk rather than pgawk +$profile1: echo "''test'" $ ! FIXME: for both gawk invocations which pipe output to SORT, $ ! two output files get created; the top version has real output $ ! but there's also an empty lower version. -$ oldout = f$search("_profile1.tmp1") -$ gawk --profile -v "sortcmd=SORT sys$intput: sys$output:" - +$ oldout = f$search("_''test'.tmp1") +$ gawk --pretty-print -v "sortcmd=SORT sys$intput: sys$output:" - -f xref.awk dtdgport.awk > _'test'.tmp1 -$ badout = f$search("_profile1.tmp1;-1") +$ badout = f$search("_''test'.tmp1;-1") $ if badout.nes."" .and. badout.nes.oldout then rm 'badout' -$ oldout = f$search("_profile1.tmp2") +$ oldout = f$search("_''test'.tmp2") $ gawk -v "sortcmd=SORT sys$intput: sys$output:" - -f awkprof.out dtdgport.awk > _'test'.tmp2 -$ badout = f$search("_profile1.tmp2;-1") +$ badout = f$search("_''test'.tmp2;-1") $ if badout.nes."" .and. badout.nes.oldout then rm 'badout' -$ cmp _profile1.tmp1 _profile1.tmp2 -$ if $status then rm _profile1.tmp%;,awkprof.out; -$ return -$ -$ ! pgawk tests; building pgawk is optional so have to check whether it's here -$profile2: -$profile3: -$ if pgawkok.lt.0 -$ then f = f$parse(pgawk,".exe;") -$ ! expect first parse to fail due to leading dollar sign -$ if f.eqs."" then f = f$parse(f$extract(1,999,pgawk),".exe;") -$ if f.nes."" then f = f$search(f) -$ pgawkok = (f.nes."").and.1 ! set to 1 or 0 -$ if .not.pgawkok then - - echo "Can't find pgawk.exe so can't run profiling tests." -$ endif -$ if pgawkok then goto do__'test' -$ echo "''test' skipped" +$ cmp _'test'.tmp1 sys$disk:[]_'test'.tmp2 +$ if $status then rm _'test'.tmp%;,awkprof.out; $ return $ -$do__profile2: echo "profile2" -$ pgawk -v "sortcmd=SORT sys$input: sys$output:" - +$profile2: echo "''test'" +$ gawk --profile -v "sortcmd=SORT sys$input: sys$output:" - -f xref.awk dtdgport.awk > _NL: $ ! sed <awkprof.out 1,2d >_profile2.tmp -$ sumslp awkprof.out /update=sys$input: /output=_profile2.tmp +$ sumslp awkprof.out /update=sys$input: /output=_'test'.tmp -1,2 / $ rm awkprof.out; -$ cmp profile2.ok _profile2.tmp -$ if $status then rm _profile2.tmp;* +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* $ return $ -$do__profile3: echo "profile3" -$ pgawk -f profile3.awk > _NL: +$profile3: echo "''test'" +$ gawk --profile -f 'test'.awk > _NL: $ ! sed <awkprof.out 1,2d >_profile3.tmp -$ sumslp awkprof.out /update=sys$input: /output=_profile3.tmp +$ sumslp awkprof.out /update=sys$input: /output=_'test'.tmp -1,2 / $ rm awkprof.out; -$ cmp profile3.ok _profile3.tmp -$ if $status then rm _profile3.tmp;* +$ cmp 'test'.ok sys$disk:[]_'test'.tmp +$ if $status then rm _'test'.tmp;* $ return $ $next: echo "next" @@ -1550,7 +1595,7 @@ $ gawk "function f() {next}; {f()}; END{f()}" _NL: >>_next.tmp 2>&1 $ gawk "function f() {next}; BEGINFILE{f()}" _NL: >>_next.tmp 2>&1 $ gawk "function f() {next}; {f()}; ENDFILE{f()}" _NL: >>_next.tmp 2>&1 $ set On -$ cmp next.ok _next.tmp +$ cmp next.ok sys$disk:[]_next.tmp $ if $status then rm _next.tmp; $ return $ @@ -1566,7 +1611,7 @@ $ endif $ set noOn $ call/Output=_exit.tmp do__exit $ set On -$ cmp exit.ok _exit.tmp +$ cmp exit.ok sys$disk:[]_exit.tmp $ if $status then rm _exit.tmp; $ return $ @@ -1616,7 +1661,7 @@ $ then create vms_cmd.ok World! $ endif $ gawk /Commands="BEGIN { print ""World!"" }" _NL: /Output=_vms_cmd.tmp -$ cmp vms_cmd.ok _vms_cmd.tmp +$ cmp vms_cmd.ok sys$disk:[]_vms_cmd.tmp $ if $status then rm _vms_cmd.tmp; $ return $ @@ -1629,7 +1674,7 @@ $ ! define/User dbg$input sys$command: $ gawk -f - >_vms_io1.tmp # prior to 3.0.4, gawk crashed doing any redirection after closing stdin BEGIN { print "Hello" >"/dev/stdout" } -$ cmp vms_io1.ok _vms_io1.tmp +$ cmp vms_io1.ok sys$disk:[]_vms_io1.tmp $ if $status then rm _vms_io1.tmp; $ return $ @@ -1655,9 +1700,9 @@ $ set noOn $ ! define/User dbg$input sys$command: $ gawk -- "BEGIN { print ""xyzzy"" >""_vms_io2.vfc"" }" >_vms_io2.tmp 2>&1 $ set On -$ cmp _NL: _vms_io2.tmp +$ cmp _NL: sys$disk:[]_vms_io2.tmp $ if $status then rm _vms_io2.tmp; -$ cmp vms_io2.ok _vms_io2.vfc +$ cmp vms_io2.ok sys$disk:[]_vms_io2.vfc $ if $status then rm _vms_io2.vfc;* $ return $ |