From a42ad1cfa5a4c589c66da990e5b1f1e7665b4a3a Mon Sep 17 00:00:00 2001 From: Abe Kornelis Date: Sun, 15 Sep 2024 13:23:55 +0200 Subject: [PATCH] Issue #243 two versions of SORT program --- bash/bldlib | 1 + bat/BLDLIB.BAT | 3 +- linklib/SORT.MLC | 2 +- sort/RUNSORT.BAT | 93 +++-- sort/SORT.MLC | 371 ------------------ .../groovy/org/z390/test/RunSortTests.groovy | 11 +- 6 files changed, 70 insertions(+), 411 deletions(-) delete mode 100644 sort/SORT.MLC diff --git a/bash/bldlib b/bash/bldlib index c292ebcab..0897c195d 100755 --- a/bash/bldlib +++ b/bash/bldlib @@ -15,6 +15,7 @@ bash/asm linklib/CVTTOHEX bal notiming stats bash/asm linklib/SQXTR bal notiming stats bash/asm linklib/DAT bal notiming stats +bash/asml linklib/SORT notiming stats bash/asmlg linklib/IEFBR14 "sysobj(+linklib)" bash/asm linklib/RTGENDIR noasm bal notiming stats "sysparm(RTGENDIR)" diff --git a/bat/BLDLIB.BAT b/bat/BLDLIB.BAT index c15252fec..1514a2579 100644 --- a/bat/BLDLIB.BAT +++ b/bat/BLDLIB.BAT @@ -20,7 +20,8 @@ call bat\asm %z_TraceMode% linklib\FPCONMFC bal notiming stats || goto e call bat\asm %z_TraceMode% linklib\CVTTOHEX bal notiming stats || goto error call bat\asm %z_TraceMode% linklib\SQXTR bal notiming stats || goto error call bat\asm %z_TraceMode% linklib\DAT bal notiming stats || goto error -call bat\asmlg %z_TraceMode% linklib\IEFBR14 sysobj(+linklib) || goto error +call bat\asml %z_TraceMode% linklib\SORT notiming stats || goto error +call bat\asmlg %z_TraceMode% linklib\IEFBR14 notiming stats sysobj(+linklib) || goto error rem call bat\asm %z_TraceMode% linklib\RTGENDIR noasm bal notiming stats sysparm(RTGENDIR) || goto error rem call bat\asm %z_TraceMode% linklib\RTGENCMP noasm bal notiming stats sysparm(RTGENCMP) || goto error diff --git a/linklib/SORT.MLC b/linklib/SORT.MLC index d94183fd2..77765db82 100644 --- a/linklib/SORT.MLC +++ b/linklib/SORT.MLC @@ -1,4 +1,4 @@ -.********************************************************************* +********************************************************************* * z390 - Mainframe assembler emulator and run-time engine * Copyright (C) 2021 z390 Assembler LLC * diff --git a/sort/RUNSORT.BAT b/sort/RUNSORT.BAT index c05dd7c6c..8370c1835 100644 --- a/sort/RUNSORT.BAT +++ b/sort/RUNSORT.BAT @@ -1,42 +1,79 @@ -cd.. -REM REBUILD sort\SORT -CALL bat\ASML sort\SORT %1 %2 %3 %4 %5 -REM TESTSORT = SORT ASCII 21 RECORD SIMPLE SORT +@if /I "%1" == "tron" (echo on) else (echo off) +rem asm run macro assembly to generate relocatable obj from mlc source + +setlocal +if /I "%1" == "tron" (set z_TraceMode=tron + shift /1 + ) else (if /I "%1" == "troff" (set z_TraceMode=troff + shift /1 + ) else (set z_TraceMode=) + ) +set /A z_NestLevel=%z_NestLevel%+1 +rem ----- Lvl(%z_NestLevel%) Start %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 + +rem +rem TESTSORT = SORT ASCII 21 RECORD SIMPLE SORT +SET z_ReturnCode=0 SET SORTIN=sort\TESTSORT.IN[RECFM=FT,LRECL=80] SET SORTOUT=sort\TESTSORT.OUT[RECMF=FT] SET SYSIN=sort\TESTSORT.INI -erase sort\TESTSORT.OUT -CALL bat\EXEC sort\SORT STATS %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN SORT1 FOR TESTSORT.OUT -copy sort\SORT.STA sort\SORT1.STA -REM TESTSRT1/2 TEST ALL KEY TYPES WITH 21 20 byte records +if exist sort\TESTSORT.OUT erase sort\TESTSORT.OUT +if exist linklib\SORT.STA erase linklib\SORT.STA +CALL bat\EXEC %z_TraceMode% linklib\SORT NOTIMING STATS %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in SORT1 for TESTSORT.OUT + ) ELSE (echo **** ++ Error! in SORT1 for TESTSORT.OUT + set z_ReturnCode=8) +move linklib\SORT.STA sort\SORT1.STA >NUL +rem +rem TESTSRT1/2 TEST ALL KEY TYPES WITH 21 20 byte records SET SYSUT2=sort\TESTSRT1.IN -CALL bat\ASMLG sort\TESTSRT1 %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN TESTSRT1 21 RECORD GEN +CALL bat\ASMLG %z_TraceMode% sort\TESTSRT1 %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in TESTSRT1 21 RECORD GEN + ) ELSE (echo **** ++ Error! in TESTSRT1 21 RECORD GEN + set z_ReturnCode=8) +rem SET SORTIN=sort\TESTSRT1.IN[RECFM=F,LRECL=20] SET SORTOUT=sort\TESTSRT1.OUT SET SYSIN=sort\TESTSRT1.INI -erase sort\TESTSRT1.OUT -CALL bat\EXEC sort\SORT STATS %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN SORT2 FOR TESTSRT1.OUT -copy sort\SORT.STA sort\SORT2.STA +if exist sort\TESTSRT1.OUT erase sort\TESTSRT1.OUT +CALL bat\EXEC %z_TraceMode% linklib\SORT STATS %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in SORT2 for TESTSRT1.OUT + ) ELSE (echo **** ++ Error! in SORT2 for TESTSRT1.OUT + set z_ReturnCode=8) +move linklib\SORT.STA sort\SORT2.STA >NUL +rem SET SYSUT1=sort\TESTSRT1.OUT -CALL bat\ASMLG sort\TESTSRT2 %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN TESTSRT2 VERIFY TESTSRT1.OUT -REM TESTSRT3/4 TEST SORTING 100000 USING 1000 REC TABLE +CALL bat\ASMLG %z_TraceMode% sort\TESTSRT2 %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in TESTSRT2 verify TESTSRT1.OUT + ) ELSE (echo **** ++ Error! in TESTSRT2 verify TESTSRT1.OUT + set z_ReturnCode=8) +rem +rem TESTSRT3/4 TEST SORTING 100000 USING 1000 REC TABLE SET SYSUT2=sort\TESTSRT3.IN -CALL bat\ASMLG sort\TESTSRT3 PARM(100000) %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN TESTSRT3 100000 RECORD GEN +CALL bat\ASMLG %z_TraceMode% sort\TESTSRT3 PARM(100000) %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in TESTSRT3 100000 record gen + ) ELSE (echo **** ++ Error! in TESTSRT3 100000 record gen + set z_ReturnCode=8) +rem SET SORTIN=sort\TESTSRT3.IN[RECFM=F,LRECL=4] SET SORTOUT=sort\TESTSRT3.OUT SET SYSIN=sort\TESTSRT3.INI -erase sort\TESTSRT3.OUT -CALL bat\EXEC sort\SORT STATS PARM(1000) %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN SORT FOR TESTSRT3.OUT -copy sort\SORT.STA sort\SORT3.STA +if exist sort\TESTSRT3.OUT erase sort\TESTSRT3.OUT +CALL bat\EXEC %z_TraceMode% linklib\SORT STATS PARM(1000) %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in SORT for TESTSRT3.OUT + ) ELSE (echo **** ++ Error! in SORT for TESTSRT3.OUT + set z_ReturnCode=8) +move linklib\SORT.STA sort\SORT3.STA >NUL +rem SET SYSUT1=sort\TESTSRT3.OUT -CALL bat\ASMLG sort\TESTSRT4 PARM(100000) %1 %2 %3 %4 %5 -IF ERRORLEVEL 1 PAUSE ERROR IN TESTSRT4 VERIFY TESTSRT3.OUT -PAUSE VERIFY ALL SORT TESTS OK - +CALL bat\ASMLG %z_TraceMode% sort\TESTSRT4 PARM(100000) %1 %2 %3 %4 %5 +IF ERRORLEVEL 0 (echo **** No errors in TESTSRT4 verify TESTSRT3.OUT + ) ELSE (echo **** ++ Error! in TESTSRT4 verify TESTSRT3.OUT + set z_ReturnCode=8) +rem +if exist SORTWK*.TMP erase SORTWK*.TMP +if %z_ReturnCode% == 0 echo **** All SORT tests completed okay +:return +rem ----- Lvl(%z_NestLevel%) End %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 +exit /b %z_ReturnCode% diff --git a/sort/SORT.MLC b/sort/SORT.MLC deleted file mode 100644 index 73d966a8f..000000000 --- a/sort/SORT.MLC +++ /dev/null @@ -1,371 +0,0 @@ -.********************************************************************* -.* z390 - Mainframe assembler emulator and run-time engine -.* Copyright (C) 2021 z390 Assembler LLC -.* -.* This file is part of z390. -.* -.* z390 is free software; you can redistribute it and/or modify -.* it under the terms of the GNU General Public License as published by -.* the Free Software Foundation; either version 2 of the License, or -.* (at your option) any later version. -.* z390 is distributed in the hope that it will be useful, -.* but WITHOUT ANY WARRANTY; without even the implied warranty of -.* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -.* GNU General Public License for more details. -.* -.* You should have received a copy of the GNU General Public License -.* along with this program; if not, see https://www.gnu.org/licenses. -.* Author - Don Higgins * -.* Date - 11/07/09 * -.********************************************************************* -.* 11/07/09 RPI 800 ADD INTERNAL AND FILE SORT UTILITY SUPPORT -.* 02/12/10 RPI 800 ADD PARM SUPPORT FOR PARM='N' TO SET MEM=N*LRECL -.********************************************************************* -.* SORT IS A FILE SORTING UTILITY DESIGNED TO BE COMPATIBLE WITH -.* DFSORT AND SYNCSORT. -.* -.* SORTIN = INPUT UNSORTED RECORDS -.* SORTOUT - OUTPUT SORTED RECORDS -.* SYSIN - COMMAND INPUT WITH SORT FIELDS(OFF,LEN,CH,A/D) -.* SORTWK01 - OPTIONAL WORK FILE 1 (DYNAMICALLY ALLOC IF REQ) -.* SORTWK02 - OPTIONAL WORK FILE 2 (DYNAMICALLY ALLOC IF REQ) -.* -.* RETURN CODE: -.* 0 - OPERATION SUCCESSFUL -.* 16 - SEE ERROR MESSAGE IF ZSORT ABORTS -.* -.* NOTES: -.* 1. ONLY RECFM=F/FB/FT/V/VB RECORD FORMATS SUPPORTED. -.* 2. VARIABLE RECORDS ARE PROCESSED AS IF THEY WERE MAX LENGTH -.* INCLUDING 4 BYTE LL00 PREFIX. KEY OFFSET DOES NOT INCLUDE PFX -.* 3. MAX MEMORY USED FOR TABLE IS MEM OPTION IF AVAILABLE. -.* -.********************************************************************* -SORT SUBENTRY BASES=(R13,R12) - ST R1,SAVEPARM - PM INIT - PM ISORT USE INTERNAL ZSORT TO MAP VAR TO FIXED - PM TERM - SUBEXIT RC=(15) -* -* PERFORM INTERNAL SORT -* -ISORT PENTRY - LA R2,SORT_PARMS - ZSORT ISORT, USE ISORT TO MAP VAR TO FIXED X - MF=(E,(R2)) - PM GET_SORTIN_REC - DO WHILE=(CLI,EOF,NE,TRUE) - ZSORT PUT,REC=(R2) - PM GET_SORTIN_REC - ENDDO - MVI EOF,FALSE - PM GET_SORTED_REC - DO WHILE=(CLI,EOF,NE,TRUE) - LR R2,R1 - PUT SORTOUT,(R2) - PM GET_SORTED_REC - ENDDO - PEXIT -* -* GET RECORD FROM SORTIN IN R2 -* -GET_SORTIN_REC PENTRY - GET SORTIN,(R2) - PEXIT -SORTIN_EOF EQU * - MVI EOF,TRUE - PEXIT -* -* GET SORTED RECORD ADDRESS IN R1 ELSE SET EOF -* -GET_SORTED_REC PENTRY - ZSORT GET,REC=(R2) RETURN REC ELSE EOF ELSE ABORT - IF (CHI,R15,EQ,4) - MVI EOF,TRUE - ENDIF - PEXIT -* -* INIT SORT -* -INIT PENTRY - PM INIT_SYSIN - PM INIT_SORTIN - PM INIT_SORTOUT - PM INIT_MEMORY - PEXIT -* -* INIT SYSIN - SET KEYOFF,KEYLEN,ORDER -* -INIT_SYSIN PENTRY - OPEN (SYSIN,(INPUT)) - GET SYSIN,SYSIN_REC - IF (CLI,SYSIN_REC+71,NE,C' ') - GET SYSIN,SYSIN_REC2 HANLDE 1 CONTINUATION - MVC SYSIN_REC+71(56),SYSIN_REC2+15 - ENDIF - LA R1,SYSIN_REC - DO WHILE=(CLI,0(R1),EQ,C' ') - AHI R1,1 - ENDDO - IF (CLC,0(5,R1),NE,=C'SORT ') - WTO 'SORT COMMAND NOT FOUND' - SUBEXIT RC=16 - ENDIF - AHI R1,5 - DO WHILE=(CLI,0(R1),EQ,C' ') - AHI R1,1 - ENDDO - IF (CLC,0(8,R1),NE,=C'FIELDS=(') - WTO 'SORT FIELDS=( NOT FOUND' - SUBEXIT RC=16 - ENDIF - AHI R1,8 - LA R3,SORT_PARMS+8 R3=NEXT KEY ENTRY - DO WHILE=(CLI,KEYS_EOD,NE,TRUE) - PM GET_NUM - AHI R0,-1 ADJ TO OFFSET FROM 0 VS 1 - ST R0,SORT_KEYOFF - AHI R1,1 - PM GET_NUM - ST R0,SORT_KEYLEN - AHI R1,1 - IF (CLC,0(2,R1),EQ,=C'AC') - MVC SORT_TYPE,=AL2(1) - ELSEIF (CLC,0(2,R1),EQ,=C'BI') - MVC SORT_TYPE,=AL2(2) - ELSEIF (CLC,0(2,R1),EQ,=C'CH') - MVC SORT_TYPE,=AL2(3) - ELSEIF (CLC,0(2,R1),EQ,=C'FI') - MVC SORT_TYPE,=AL2(4) - ELSEIF (CLC,0(2,R1),EQ,=C'FL') - MVC SORT_TYPE,=AL2(5) - ELSEIF (CLC,0(2,R1),EQ,=C'PD') - MVC SORT_TYPE,=AL2(6) - ELSEIF (CLC,0(2,R1),EQ,=C'ZD') - MVC SORT_TYPE,=AL2(7) - ELSE - WTO 'SORT FIELDS TYPE NO CH' - ABEND 123,DUMP - SUBEXIT RC=16 - ENDIF - AHI R1,3 - IF (CLI,0(R1),EQ,C'A') - MVC SORT_ORDER,=AL2(1) ASCENDING - ELSEIF (CLI,0(R1),EQ,C'D') - MVC SORT_ORDER,=AL2(0) DESCENDING - ELSE - WTO 'SORT ORDER NOT A OR D' - SUBEXIT RC=16 - ENDIF - AHI R1,1 - IF (CLI,0(R1),EQ,C')') - MVI KEYS_EOD,TRUE - OI SORT_ENTRY+8,X'80' TURN ON VL BIT - ELSEIF (CLI,0(R1),NE,C',') - WTO 'SORT INVALID DELIMITER FOR FIELDS' - SUBEXIT RC=16 - ENDIF - MVC 0(12,R3),SORT_ENTRY - AHI R3,12 - AHI R1,1 - ENDDO - CLOSE (SYSIN) - PEXIT -* -* INIT SORTIN -* -INIT_SORTIN PENTRY - GETENV SORTIN_DD - IF (LTR,R15,NE,R15) - WTO 'SORT SORTIN NOT FOUND' - SUBEXIT RC=15 - ENDIF - LR R8,R1 - IF (TRT,0(256,R8),NE,FIND_BRK) FIND [RECFM=F/V,LRECL-N] - LR R15,R1 - SR R15,R8 - BCTR R15,0 - EX R15,SORTIN_MVC MOVE FILE SPEC WO BRK - LA R2,SORTIN - IF (CLC,1(6,R1),NE,=C'RECFM=') - WTO 'SORT SORTIN DDNAME REQUIRES[RECFM=F/FB/FT/V/VB,LRECX - L=N]' - SUBEXIT RC=16 - ENDIF - PM SET_DCB_PARMS - MVC SORTOUT+DCBRECFM-IHADCB(1),SORTIN+DCBRECFM-IHADCB - MVC SORTOUT+DCBLRECL-IHADCB(4),SORTIN+DCBLRECL-IHADCB - MVC SORTOUT+DCBBLKSI-IHADCB(4),SORTIN+DCBBLKSI-IHADCB - OPEN (SORTIN,(INPUT)) - ELSE - WTO 'SORT SORTIN DDNAME REQUIRES[RECFM=F/V,LRECL=N]' - SUBEXIT RC=16 - ENDIF - PEXIT -* -* SET_DCB_PARMS FOR SORTIN AND SORTOUT -* -SET_DCB_PARMS PENTRY - USING IHADCB,R2 - AHI R1,7 - IF (CLC,0(2,R1),EQ,=C'FT') - MVI DCBRECFM,DCBRECFM_FT - AHI R1,2 - ELSEIF (CLC,0(2,R1),EQ,=C'FB') - MVI DCBRECFM,DCBRECFM_FB - AHI R1,2 - ELSEIF (CLC,0(2,R1),EQ,=C'VT') - MVI VAR,TRUE - MVI DCBRECFM,DCBRECFM_VT - AHI R1,2 - ELSEIF (CLC,0(2,R1),EQ,=C'VB') - MVI VAR,TRUE - MVI DCBRECFM,DCBRECFM_VB - AHI R1,2 - ELSEIF (CLC,0(1,R1),EQ,=C'F') - MVI DCBRECFM,DCBRECFM_F - AHI R1,1 - ELSEIF (CLC,0(1,R1),EQ,=C'V') - MVI VAR,TRUE - MVI DCBRECFM,DCBRECFM_V - AHI R1,1 - ELSE - WTO 'ZSORT INVALID RECFM [RECFM=F/FB/T/V/VB/VT' - SUBEXIT RC=16 - ENDIF - IF (CLI,0(R1),EQ,C']') - PEXIT - ENDIF - IF (CLC,0(7,R1),EQ,=C',LRECL=') - LA R1,7(R1) - PM GET_NUM - IF (CLC,SORT_LRECL,NE,=F'0'),AND,(CL,R0,NE,SORT_LRECL) - WTO 'SORT SORTIN/SORTOUT LRECL NOT EQUAL' - SUBEXIT RC=16 - ENDIF - ST R0,DCBLRECLF - ST R0,SORT_LRECL - ELSEIF (CLC,0(9,R1),EQ,=C',BLKSIZE=') - LA R1,7(R1) - PM GET_NUM - ST R0,DCBBLKSI - ENDIF - IF (CLC,DCBLRECLF,EQ,=F'0') - WTO 'SORTIN LRECL NOT FOUND' - SUBEXIT RC=16 - ENDIF - PEXIT -* -* GET_NUM - SET R0 TO DECIMAL VALUE AT R1 -* -GET_NUM PENTRY - SR R15,R15 - SR R0,R0 - DO WHILE=(CLI,0(R1),GE,C'0') - IC R15,0(R1) - NILL R15,X'F' - MH R0,=H'10' - AR R0,R15 - AHI R1,1 - ENDDO - PEXIT -* -* INIT SORTOUT -* -INIT_SORTOUT PENTRY - GETENV SORTOUT_DD - IF (LTR,R15,NE,R15) - WTO 'SORT SORTOUT NOT FOUND' - SUBEXIT RC=15 - ENDIF - LR R8,R1 - IF (TRT,0(256,R8),NE,FIND_BRK) FIND [RECFM=F/V,LRECL-N] - LR R15,R1 - SR R15,R8 - BCTR R15,0 - EX R15,SORTOUT_MVC MOVE FILE SPEC WO BRK - LA R2,SORTOUT - PM SET_DCB_PARMS - OPEN (SORTOUT,(OUTPUT)) - ENDIF - PEXIT -* -* INIT MEMORY -* 1. IF PARM='N' THEN ALLOC BLKSIZE OF N * LRECL -* 2. DEFAULT OF 0 WILL USE ALL AVAILABLE_MEMORY -* -INIT_MEMORY PENTRY - L R1,SAVEPARM - L R1,0(R1) - LH R2,0(R1) - IF (LTR,R2,NZ,R2) - BCTR R2,0 - EX R2,PACKREC - CVB R1,PWORK - IF (LTR,R1,NZ,R1) - AHI R1,1 ADD 1 REC FOR WORK AREA - SR R0,R0 - M R0,SORT_LRECL - ENDIF - ST R1,SORT_MEMORY - ENDIF - PEXIT -PACKREC PACK PWORK,2(0,R1) -* -* TERM -* -TERM PENTRY - CLOSE (SORTOUT) - CLOSE (SORTIN) - PEXIT -* -* SHARED DATA -* -SORTIN_MVC MVC SORTIN_DSN(0),0(R8) -SORTOUT_MVC MVC SORTOUT_DSN(0),0(R8) -SYSIN_MVC MVC SYSIN_DSN(0),0(R8) - LTORG - EQUREGS -SORTIN DCB DSORG=PS,RECFM=F,MACRF=GM,EODAD=SORTIN_EOF, X - DSNAME=SORTIN_DSN -SORTOUT DCB DSORG=PS,RECFM=F,MACRF=PM, X - DSNAME=SORTOUT_DSN -SYSIN DCB DSORG=PS,RECFM=FT,MACRF=GM,BLKSIZE=80 -SYSIN_REC DC CL160' ' SORT FIELDS=(...X PLUS 1 CONTINUATION -SYSIN_REC2 DC CL80' ' CONTINUATION IF ANY -EOF DC AL1(FALSE) -VAR DC AL1(FALSE) ASSUME FIXED LENGTH USING FSORT -KEYS_EOD DC AL1(FALSE) ASSUME NOT END OF KEYS -FALSE EQU 0 -TRUE EQU 1 - DC 0F,C'SORTPARM' LRECL,MEMORY,10(KEYOFF,KEYLEN,KEYTYPE) -SORT_PARMS DS 0F -SORT_LRECL DC F'0' FROM SORTIN OVERRIDE [RECFM=,LRECL=] -SORT_MEMORY DC F'0' MAXIMUM MEMORY (MAX AVAIL IF ZERO) -MAX_FIELDS EQU 10 MAXIMUM KEY FIELDS (OFF,LEN,TYPE,ORDER) - DC (MAX_FIELDS)FL12'0' A(OFFSET,LENGTH),AL2(TYPE,ORDER) - DC C'END OF SORTPARM' - DS 0F -SORT_ENTRY DS 0XL12 -SORT_KEYOFF DC F'0' -SORT_KEYLEN DC F'0' -SORT_TYPE DC AL2(0) -SORT_ORDER DC AL2(0) -SORTIN_DD DC C'SORTIN',X'00' -SORTOUT_DD DC C'SORTOUT',X'00' -SYSIN_DD DC C'SYSIN',X'00' -SORTIN_DSN DC XL256'00' -SORTOUT_DSN DC XL256'00' -SYSIN_DSN DC XL256'00' -FIND_BRK DC 256X'00' - ORG FIND_BRK+C'[' - DC C'[' STOP ON SOURCE BRACKET - ORG -FIND_NULL DC 256X'00' - ORG FIND_NULL+X'00' - DC C'[' STOP ON NULL - ORG -SAVEPARM DC F'0' -PWORK DC D'0' - END diff --git a/z390test/src/test/groovy/org/z390/test/RunSortTests.groovy b/z390test/src/test/groovy/org/z390/test/RunSortTests.groovy index 4c2a6163d..8b98dfdb3 100644 --- a/z390test/src/test/groovy/org/z390/test/RunSortTests.groovy +++ b/z390test/src/test/groovy/org/z390/test/RunSortTests.groovy @@ -16,18 +16,9 @@ class RunSortTests extends z390Test { ] var runOptions = [ - "SYS390(${basePath('sort')})" + "SYS390(${basePath('linklib')})" ] - @BeforeAll - void build_sort() { - int rc = asml(this.basePath('sort', 'SORT'), *options) - this.printOutput() - if (rc != 0) { - throw new RuntimeException("Unable to assemble SORT") - } - } - @Test void test_TESTSORT() { this.env.put('SORTIN', basePath('sort', 'TESTSORT.IN[RECFM=FT,LRECL=80]'))