version 0.73.0
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
TARGETS = \
|
||||
IX101A.PRT \
|
||||
IX102A.PRT \
|
||||
IX103A.PRT \
|
||||
IX104A.PRT \
|
||||
IX105A.PRT \
|
||||
IX106A.PRT \
|
||||
IX107A.PRT \
|
||||
IX108A.PRT \
|
||||
IX109A.PRT \
|
||||
IX110A.PRT \
|
||||
cleandat \
|
||||
IX111A.PRT \
|
||||
IX112A.PRT \
|
||||
IX113A.PRT \
|
||||
IX114A.PRT \
|
||||
IX115A.PRT \
|
||||
IX116A.PRT \
|
||||
IX117A.PRT \
|
||||
IX118A.PRT \
|
||||
IX119A.PRT \
|
||||
IX120A.PRT \
|
||||
IX121A.PRT \
|
||||
IX201A.PRT \
|
||||
IX202A.PRT \
|
||||
IX203A.PRT \
|
||||
IX204A.PRT \
|
||||
IX205A.PRT \
|
||||
IX206A.PRT \
|
||||
IX207A.PRT \
|
||||
IX208A.PRT \
|
||||
IX210A.PRT \
|
||||
IX211A.PRT \
|
||||
IX212A.PRT \
|
||||
IX213A.PRT \
|
||||
IX214A.PRT \
|
||||
IX215A.PRT \
|
||||
IX216A.PRT \
|
||||
IX217A.PRT \
|
||||
IX218A.PRT \
|
||||
IX301M.PRT \
|
||||
IX302M.PRT \
|
||||
IX401M.PRT \
|
||||
report
|
||||
@@ -0,0 +1,29 @@
|
||||
Module : IX
|
||||
Filename Tot OK Fai Del Man
|
||||
IX101A.PRT 2 2 0 0 0 OK
|
||||
IX104A.PRT 13 13 0 0 0 OK
|
||||
IX105A.PRT 9 9 0 0 0 OK
|
||||
IX106A.PRT 10 10 0 0 0 OK
|
||||
IX107A.PRT 14 14 0 0 0 OK
|
||||
IX108A.PRT 32 32 0 0 0 OK
|
||||
IX109A.PRT 13 12 1 0 0
|
||||
IX112A.PRT 7 6 1 0 0
|
||||
IX113A.PRT 4 4 0 0 0 OK
|
||||
IX121A.PRT 3 3 0 0 0 OK
|
||||
IX201A.PRT 2 2 0 0 0 OK
|
||||
IX204A.PRT 13 13 0 0 0 OK
|
||||
IX205A.PRT 12 11 1 0 0
|
||||
IX206A.PRT 10 9 1 0 0
|
||||
IX207A.PRT 8 8 0 0 0 OK
|
||||
IX208A.PRT 29 19 10 0 0
|
||||
IX210A.PRT 39 27 12 0 0
|
||||
IX211A.PRT 17 13 4 0 0
|
||||
IX212A.PRT 24 21 3 0 0
|
||||
IX213A.PRT 21 15 6 0 0
|
||||
IX214A.PRT 39 27 12 0 0
|
||||
IX215A.PRT 33 7 23 3 0
|
||||
IX216A.PRT 15 9 5 1 0
|
||||
IX217A.PRT 6 1 5 0 0
|
||||
IX218A.PRT 6 3 3 0 0
|
||||
Total: 381 290 87 4 0 25 11 OK
|
||||
Percentages: pgms ok: 44 % Tests ok: 76.1155 %
|
||||
@@ -0,0 +1,37 @@
|
||||
Module : IX
|
||||
Filename Tot OK Fai Del Man
|
||||
IX101A.PRT 2 2 0 0 0 OK
|
||||
IX102A.PRT 11 11 0 0 0 OK
|
||||
IX103A.PRT 12 12 0 0 0 OK
|
||||
IX104A.PRT 13 10 3 0 0
|
||||
IX105A.PRT 9 9 0 0 0 OK
|
||||
IX106A.PRT 10 10 0 0 0 OK
|
||||
IX107A.PRT 14 14 0 0 0 OK
|
||||
IX108A.PRT 32 32 0 0 0 OK
|
||||
IX109A.PRT 13 9 4 0 0
|
||||
IX110A.PRT 4 4 0 0 0 OK
|
||||
IX111A.PRT 0 0 0 0 0 OK
|
||||
IX112A.PRT 7 6 1 0 0
|
||||
IX113A.PRT 4 3 1 0 0
|
||||
IX114A.PRT 3 2 1 0 0
|
||||
IX115A.PRT 3 2 1 0 0
|
||||
IX116A.PRT 3 2 1 0 0
|
||||
IX117A.PRT 3 2 1 0 0
|
||||
IX118A.PRT 3 2 1 0 0
|
||||
IX119A.PRT 3 1 2 0 0
|
||||
IX120A.PRT 2 1 1 0 0
|
||||
IX121A.PRT 3 3 0 0 0 OK
|
||||
IX201A.PRT 2 2 0 0 0 OK
|
||||
IX202A.PRT 11 11 0 0 0 OK
|
||||
IX203A.PRT 12 12 0 0 0 OK
|
||||
IX204A.PRT 13 10 3 0 0
|
||||
IX205A.PRT 12 11 1 0 0
|
||||
IX206A.PRT 10 9 1 0 0
|
||||
IX208A.PRT 29 21 8 0 0
|
||||
IX211A.PRT 17 17 0 0 0 OK
|
||||
IX212A.PRT 24 20 4 0 0
|
||||
IX213A.PRT 21 15 6 0 0
|
||||
IX216A.PRT 15 9 5 1 0
|
||||
IX218A.PRT 6 5 1 0 0
|
||||
Total: 326 279 46 1 0 33 14 OK
|
||||
Percentages: pgms ok: 42.4242 % Tests ok: 85.5828 %
|
||||
@@ -0,0 +1,69 @@
|
||||
#
|
||||
# Makefile to create binary form COBOL sources
|
||||
#
|
||||
|
||||
prefix=/usr/local/
|
||||
exec_prefix=../../compiler
|
||||
g_includes=-I/usr/local/include
|
||||
g_libraries=-L/usr/local/lib
|
||||
|
||||
CCX=gcc
|
||||
#COB=${exec_prefix}/htcobol
|
||||
COB=htcobol
|
||||
#COB=htcobol-0.55
|
||||
ASM=as
|
||||
RM=rm -fr
|
||||
|
||||
COPYBOOKS= -I../copybooks -I.
|
||||
INCLUDES=-I./ ${g_includes}
|
||||
#LIBS=${g_libraries} -lhtcobol-0.55 -ldb -lm
|
||||
LIBS=${g_libraries} -L../../lib -lhtcobol -ldb -lm
|
||||
LDFLAGS=-ldl
|
||||
#COBFLAGS=-P -D -F ${COPYBOOKS}
|
||||
#COBFLAGS=-S -P -F ${COPYBOOKS}
|
||||
COBFLAGS=-c -v -P -F ${COPYBOOKS}
|
||||
ASMFLAGS=-D
|
||||
CCXFLAGS=-g ${INCLUDES}
|
||||
|
||||
SRCS = EXEC85.cob
|
||||
|
||||
OBJS = $(SRCS:.cob=.o)
|
||||
|
||||
PROG = EXEC85
|
||||
|
||||
#include ${prefix}/config/COB.rules.in
|
||||
#
|
||||
# Rules for compiling .cob sources
|
||||
.SUFFIX: .cob .o
|
||||
|
||||
%.o: %.cob
|
||||
$(COB) $(COBFLAGS) $<
|
||||
# $(ASM) $(ASMFLAGS) -o $*.o -a=$*.listing.0.txt $*.s
|
||||
# @grep -v 'LISTING' $*.listing.0.txt | sed '/^$$/d' >$*.s.txt
|
||||
# @${RM} $*.listing.0.txt
|
||||
#
|
||||
#include ${prefix}/config/COB.build.tmpl.in
|
||||
|
||||
all: ${PROG}
|
||||
|
||||
${PROG}: ${OBJS}
|
||||
$(CCX) -o $@ ${OBJS} $(LDFLAGS) $(LIBS)
|
||||
# strip $@
|
||||
|
||||
${PROG}.cob:
|
||||
perl nc_exec85.pl newcob.val
|
||||
|
||||
setup: ${PROG}.cob ${PROG}
|
||||
./${PROG}
|
||||
perl nc_extr.pl XXXXX002
|
||||
clean:
|
||||
@${RM} ${OBJS} $(PROG) core $(PROG)*lis ${PROG}*txt ${PROG}*s \
|
||||
core copybooks XX CM DB IC IF IX NC OB RL RW SG SM SQ ST \
|
||||
t
|
||||
|
||||
cleanall: clean
|
||||
@${RM} core *run.err.trace.txt *run.trace.txt temp*cob \
|
||||
XXXXX002 XXXXX055 EXEC85.cob logfile*txt
|
||||
|
||||
programlist:
|
||||
@echo ${PROG} ${PROGS}
|
||||
@@ -0,0 +1,7 @@
|
||||
#
|
||||
# Makefile for IX NIST Module
|
||||
#
|
||||
include ../Makefile_head.h
|
||||
MODULE=IX
|
||||
include ../${MODULE}.idx
|
||||
include ../Makefile_trail.h
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Makefile for NC NIST Module
|
||||
#
|
||||
include ../Makefile_head.h
|
||||
MODULE=NC
|
||||
include ../${MODULE}.idx
|
||||
#
|
||||
# Specific rules follow: these should override the general rules. Why not?
|
||||
#
|
||||
#NC109M.PRT:
|
||||
# ./NC109M.EXE <NC109M.DATA
|
||||
# mv prt NC109M.PRT
|
||||
# ${RM} NC109M.cob NC109M.lis* NC109M.o NC109M.s NC109M.scan NC109M.EXE
|
||||
#NC110M.PRT: NC110M.EXE
|
||||
# ./NC110M.EXE >NC110M.PRT
|
||||
# ${RM} NC110M.cob NC110M.lis* NC110M.o NC110M.s NC110M.scan NC110M.EXE
|
||||
include ../Makefile_trail.h
|
||||
@@ -0,0 +1,7 @@
|
||||
#
|
||||
# Makefile for SM NIST Module
|
||||
#
|
||||
include ../Makefile_head.h
|
||||
MODULE=SM
|
||||
include ../${MODULE}.idx
|
||||
include ../Makefile_trail.h
|
||||
@@ -0,0 +1,38 @@
|
||||
#
|
||||
# Makefile to create binary form COBOL sources
|
||||
#
|
||||
|
||||
prefix=/usr/local/
|
||||
comp_prefix=../../..
|
||||
exec_prefix=${comp_prefix}/compiler
|
||||
g_includes=-I/usr/local/include
|
||||
g_libraries=-L/usr/lib
|
||||
|
||||
CCX=gcc
|
||||
COBPP=${comp_prefix}/cobpp/htcobolpp
|
||||
COB=${exec_prefix}/htcobol
|
||||
ASM=as
|
||||
RM=rm -f
|
||||
|
||||
COPYBOOKS= -I../copybooks -I.
|
||||
INCLUDES=-I./ ${g_includes}
|
||||
LIBS=${g_libraries} -L${comp_prefix}/lib -lhtcobol -ldb -lm -ldl
|
||||
LDFLAGS=
|
||||
COBFLAGS=-P ${COPYBOOKS}
|
||||
ASMFLAGS=-D
|
||||
CCXFLAGS=-g ${INCLUDES}
|
||||
|
||||
%.cob : %.CBL
|
||||
${COBPP} ${COPYBOOKS} -f $< -o $@
|
||||
%.s : %.cob
|
||||
${COB} -T8 -S -P -D $*.cob
|
||||
grep "error" $*.lis
|
||||
%.o : %.s
|
||||
${ASM} -o $*.o -as=$*.listing.0.txt --gstabs $*.s
|
||||
%.EXE : %.o
|
||||
gcc -g -o $*.EXE $*.o ${LIBS}
|
||||
%.PRT : %.EXE
|
||||
./$*.EXE 2>nl
|
||||
mv -f nl $*.RTE
|
||||
mv prt $*.PRT
|
||||
${RM} $*.cob $*.lis* $*.o $*.s $*.scan $*.EXE
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Makefile to create binary form COBOL sources
|
||||
#
|
||||
|
||||
all: cleandat ${TARGETS}
|
||||
report:
|
||||
../xtr_rpt.sh ${MODULE}
|
||||
diff ../${MODULE}.rpt ../${MODULE}_prev.rpt
|
||||
cat ../??.rpt >../nist.rpt
|
||||
clean:
|
||||
@${RM} core *.cob *.lis* *.s*
|
||||
#
|
||||
cleanall: clean cleandat
|
||||
@${RM} *.PRT *.RTE
|
||||
cleandat:
|
||||
@${RM} *.DAT*
|
||||
@@ -0,0 +1,101 @@
|
||||
TARGETS = \
|
||||
NC101A.PRT \
|
||||
NC102A.PRT \
|
||||
NC103A.PRT \
|
||||
NC104A.PRT \
|
||||
NC105A.PRT \
|
||||
NC106A.PRT \
|
||||
NC107A.PRT \
|
||||
NC108M.PRT \
|
||||
NC110M.PRT \
|
||||
NC111A.PRT \
|
||||
NC112A.PRT \
|
||||
NC113M.PRT \
|
||||
NC114M.PRT \
|
||||
NC115A.PRT \
|
||||
NC116A.PRT \
|
||||
NC117A.PRT \
|
||||
NC118A.PRT \
|
||||
NC119A.PRT \
|
||||
NC120A.PRT \
|
||||
NC121M.PRT \
|
||||
NC122A.PRT \
|
||||
NC123A.PRT \
|
||||
NC124A.PRT \
|
||||
NC125A.PRT \
|
||||
NC126A.PRT \
|
||||
NC127A.PRT \
|
||||
NC131A.PRT \
|
||||
NC132A.PRT \
|
||||
NC133A.PRT \
|
||||
NC134A.PRT \
|
||||
NC135A.PRT \
|
||||
NC136A.PRT \
|
||||
NC137A.PRT \
|
||||
NC138A.PRT \
|
||||
NC139A.PRT \
|
||||
NC140A.PRT \
|
||||
NC141A.PRT \
|
||||
NC170A.PRT \
|
||||
NC171A.PRT \
|
||||
NC172A.PRT \
|
||||
NC173A.PRT \
|
||||
NC175A.PRT \
|
||||
NC176A.PRT \
|
||||
NC177A.PRT \
|
||||
NC201A.PRT \
|
||||
NC202A.PRT \
|
||||
NC203A.PRT \
|
||||
NC204M.PRT \
|
||||
NC205A.PRT \
|
||||
NC206A.PRT \
|
||||
NC207A.PRT \
|
||||
NC208A.PRT \
|
||||
NC209A.PRT \
|
||||
NC210A.PRT \
|
||||
NC211A.PRT \
|
||||
NC214M.PRT \
|
||||
NC216A.PRT \
|
||||
NC217A.PRT \
|
||||
NC218A.PRT \
|
||||
NC219A.PRT \
|
||||
NC220M.PRT \
|
||||
NC221A.PRT \
|
||||
NC222A.PRT \
|
||||
NC223A.PRT \
|
||||
NC224A.PRT \
|
||||
NC225A.PRT \
|
||||
NC231A.PRT \
|
||||
NC232A.PRT \
|
||||
NC233A.PRT \
|
||||
NC234A.PRT \
|
||||
NC235A.PRT \
|
||||
NC236A.PRT \
|
||||
NC237A.PRT \
|
||||
NC238A.PRT \
|
||||
NC239A.PRT \
|
||||
NC240A.PRT \
|
||||
NC241A.PRT \
|
||||
NC242A.PRT \
|
||||
NC243A.PRT \
|
||||
NC244A.PRT \
|
||||
NC245A.PRT \
|
||||
NC246A.PRT \
|
||||
NC247A.PRT \
|
||||
NC248A.PRT \
|
||||
NC250A.PRT \
|
||||
NC251A.PRT \
|
||||
NC252A.PRT \
|
||||
NC253A.PRT \
|
||||
NC302M.PRT \
|
||||
NC303M.PRT \
|
||||
NC401M.PRT \
|
||||
report
|
||||
|
||||
## Hang at run time
|
||||
#NC109M.PRT
|
||||
|
||||
## Hang at compile time
|
||||
#NC174A.PRT
|
||||
#NC215A.PRT
|
||||
#NC254A.PRT
|
||||
@@ -0,0 +1,82 @@
|
||||
Module : NC
|
||||
Filename Tot OK Fai Del Man
|
||||
NC101A.PRT 93 93 0 0 0 OK
|
||||
NC102A.PRT 42 42 0 0 0 OK
|
||||
NC103A.PRT 102 102 0 0 0 OK
|
||||
NC104A.PRT 141 141 0 0 0 OK
|
||||
NC105A.PRT 132 129 0 3 0 OK
|
||||
NC106A.PRT 126 121 5 0 0
|
||||
NC107A.PRT 177 171 1 0 5
|
||||
NC108M.PRT 14 14 0 0 0 OK
|
||||
NC111A.PRT 7 7 0 0 0 OK
|
||||
NC112A.PRT 32 32 0 0 0 OK
|
||||
NC114M.PRT 6 5 0 0 1 OK
|
||||
NC115A.PRT 31 31 0 0 0 OK
|
||||
NC116A.PRT 66 66 0 0 0 OK
|
||||
NC117A.PRT 40 39 1 0 0
|
||||
NC118A.PRT 29 23 6 0 0
|
||||
NC119A.PRT 36 33 3 0 0
|
||||
NC120A.PRT 39 36 3 0 0
|
||||
NC121M.PRT 41 39 0 0 2 OK
|
||||
NC122A.PRT 24 24 0 0 0 OK
|
||||
NC123A.PRT 34 34 0 0 0 OK
|
||||
NC124A.PRT 169 167 2 0 0
|
||||
NC125A.PRT 110 110 0 0 0 OK
|
||||
NC126A.PRT 145 145 0 0 0 OK
|
||||
NC127A.PRT 2 2 0 0 0 OK
|
||||
NC131A.PRT 10 10 0 0 0 OK
|
||||
NC132A.PRT 25 25 0 0 0 OK
|
||||
NC133A.PRT 25 25 0 0 0 OK
|
||||
NC134A.PRT 20 20 0 0 0 OK
|
||||
NC135A.PRT 8 7 0 0 1 OK
|
||||
NC136A.PRT 8 8 0 0 0 OK
|
||||
NC137A.PRT 8 8 0 0 0 OK
|
||||
NC138A.PRT 36 36 0 0 0 OK
|
||||
NC139A.PRT 41 41 0 0 0 OK
|
||||
NC140A.PRT 70 70 0 0 0 OK
|
||||
NC141A.PRT 9 9 0 0 0 OK
|
||||
NC170A.PRT 96 93 3 0 0
|
||||
NC171A.PRT 108 107 1 0 0
|
||||
NC172A.PRT 101 101 0 0 0 OK
|
||||
NC173A.PRT 102 102 0 0 0 OK
|
||||
NC175A.PRT 97 92 5 0 0
|
||||
NC176A.PRT 124 121 3 0 0
|
||||
NC177A.PRT 108 104 4 0 0
|
||||
NC201A.PRT 59 56 3 0 0
|
||||
NC202A.PRT 77 74 3 0 0
|
||||
NC203A.PRT 57 55 2 0 0
|
||||
NC204M.PRT 15 0 15 0 0
|
||||
NC206A.PRT 53 53 0 0 0 OK
|
||||
NC207A.PRT 85 85 0 0 0 OK
|
||||
NC208A.PRT 24 24 0 0 0 OK
|
||||
NC209A.PRT 32 27 5 0 0
|
||||
NC210A.PRT 85 85 0 0 0 OK
|
||||
NC214M.PRT 0 0 0 0 0 OK
|
||||
NC216A.PRT 57 55 2 0 0
|
||||
NC217A.PRT 81 80 0 1 0 OK
|
||||
NC218A.PRT 125 125 0 0 0 OK
|
||||
NC219A.PRT 9 7 2 0 0
|
||||
NC220M.PRT 25 23 0 0 2 OK
|
||||
NC221A.PRT 17 17 0 0 0 OK
|
||||
NC222A.PRT 8 8 0 0 0 OK
|
||||
NC223A.PRT 94 42 52 0 0
|
||||
NC224A.PRT 14 10 0 4 0 OK
|
||||
NC231A.PRT 24 16 8 0 0
|
||||
NC232A.PRT 17 17 0 0 0 OK
|
||||
NC233A.PRT 14 7 7 0 0
|
||||
NC234A.PRT 17 17 0 0 0 OK
|
||||
NC236A.PRT 10 5 5 0 0
|
||||
NC239A.PRT 8 8 0 0 0 OK
|
||||
NC240A.PRT 11 11 0 0 0 OK
|
||||
NC241A.PRT 11 11 0 0 0 OK
|
||||
NC242A.PRT 12 12 0 0 0 OK
|
||||
NC243A.PRT 16 16 0 0 0 OK
|
||||
NC244A.PRT 6 6 0 0 0 OK
|
||||
NC245A.PRT 28 28 0 0 0 OK
|
||||
NC247A.PRT 21 17 3 1 0
|
||||
NC248A.PRT 11 8 3 0 0
|
||||
NC251A.PRT 59 58 1 0 0
|
||||
NC252A.PRT 75 75 0 0 0 OK
|
||||
NC253A.PRT 61 48 13 0 0
|
||||
Total: 3952 3771 161 9 11 78 51 OK
|
||||
Percentages: pgms ok: 65.3846 % Tests ok: 95.42 %
|
||||
@@ -0,0 +1,79 @@
|
||||
Module : NC
|
||||
Filename Tot OK Fai Del Man
|
||||
NC101A.PRT 93 93 0 0 0 OK
|
||||
NC102A.PRT 42 40 0 2 0 OK
|
||||
NC103A.PRT 102 102 0 0 0 OK
|
||||
NC104A.PRT 141 140 1 0 0
|
||||
NC105A.PRT 132 121 8 3 0
|
||||
NC106A.PRT 126 119 7 0 0
|
||||
NC107A.PRT 177 169 3 0 5
|
||||
NC108M.PRT 14 14 0 0 0 OK
|
||||
NC111A.PRT 7 7 0 0 0 OK
|
||||
NC112A.PRT 32 32 0 0 0 OK
|
||||
NC115A.PRT 31 23 8 0 0
|
||||
NC116A.PRT 66 66 0 0 0 OK
|
||||
NC117A.PRT 40 39 1 0 0
|
||||
NC118A.PRT 29 23 6 0 0
|
||||
NC119A.PRT 36 33 3 0 0
|
||||
NC120A.PRT 39 36 3 0 0
|
||||
NC121M.PRT 41 37 2 0 2
|
||||
NC122A.PRT 24 19 5 0 0
|
||||
NC123A.PRT 34 24 10 0 0
|
||||
NC124A.PRT 169 165 4 0 0
|
||||
NC125A.PRT 110 110 0 0 0 OK
|
||||
NC126A.PRT 145 145 0 0 0 OK
|
||||
NC127A.PRT 2 2 0 0 0 OK
|
||||
NC131A.PRT 10 10 0 0 0 OK
|
||||
NC132A.PRT 25 25 0 0 0 OK
|
||||
NC133A.PRT 25 25 0 0 0 OK
|
||||
NC134A.PRT 20 20 0 0 0 OK
|
||||
NC135A.PRT 8 7 0 0 1 OK
|
||||
NC136A.PRT 8 8 0 0 0 OK
|
||||
NC137A.PRT 8 8 0 0 0 OK
|
||||
NC138A.PRT 36 36 0 0 0 OK
|
||||
NC139A.PRT 41 41 0 0 0 OK
|
||||
NC140A.PRT 70 70 0 0 0 OK
|
||||
NC141A.PRT 9 9 0 0 0 OK
|
||||
NC170A.PRT 96 93 3 0 0
|
||||
NC171A.PRT 108 107 1 0 0
|
||||
NC172A.PRT 101 101 0 0 0 OK
|
||||
NC173A.PRT 102 102 0 0 0 OK
|
||||
NC175A.PRT 97 92 5 0 0
|
||||
NC176A.PRT 124 119 5 0 0
|
||||
NC177A.PRT 108 104 4 0 0
|
||||
NC201A.PRT 59 56 3 0 0
|
||||
NC202A.PRT 77 74 3 0 0
|
||||
NC203A.PRT 58 53 5 0 0
|
||||
NC204M.PRT 15 0 15 0 0
|
||||
NC206A.PRT 53 53 0 0 0 OK
|
||||
NC208A.PRT 24 24 0 0 0 OK
|
||||
NC209A.PRT 32 27 5 0 0
|
||||
NC210A.PRT 85 85 0 0 0 OK
|
||||
NC216A.PRT 57 36 21 0 0
|
||||
NC217A.PRT 81 80 0 1 0 OK
|
||||
NC218A.PRT 125 125 0 0 0 OK
|
||||
NC220M.PRT 25 23 0 0 2 OK
|
||||
NC221A.PRT 17 13 4 0 0
|
||||
NC222A.PRT 8 6 2 0 0
|
||||
NC223A.PRT 94 42 52 0 0
|
||||
NC224A.PRT 14 10 0 4 0 OK
|
||||
NC231A.PRT 24 16 8 0 0
|
||||
NC232A.PRT 17 17 0 0 0 OK
|
||||
NC233A.PRT 14 7 7 0 0
|
||||
NC234A.PRT 17 17 0 0 0 OK
|
||||
NC236A.PRT 10 5 5 0 0
|
||||
NC239A.PRT 8 8 0 0 0 OK
|
||||
NC240A.PRT 11 11 0 0 0 OK
|
||||
NC241A.PRT 11 11 0 0 0 OK
|
||||
NC242A.PRT 12 12 0 0 0 OK
|
||||
NC243A.PRT 16 16 0 0 0 OK
|
||||
NC244A.PRT 6 6 0 0 0 OK
|
||||
NC245A.PRT 28 28 0 0 0 OK
|
||||
NC247A.PRT 20 17 2 1 0
|
||||
NC248A.PRT 11 8 3 0 0
|
||||
NC251A.PRT 60 57 3 0 0
|
||||
NC252A.PRT 75 75 0 0 0 OK
|
||||
NC253A.PRT 61 48 13 0 0
|
||||
NC254A.PRT 9 5 4 0 0
|
||||
Total: 3862 3607 234 11 10 75 40 OK
|
||||
Percentages: pgms ok: 53.3333 % Tests ok: 93.3972 %
|
||||
@@ -0,0 +1,53 @@
|
||||
The NIST CCVS85 Test Suite
|
||||
------------------------------------------------------------------------
|
||||
This directory contains the NIST test program suite auxiliary utilities.
|
||||
|
||||
|
||||
IMPORTANT NOTE:
|
||||
The NIST test programs source is not included, but can be downloaded from the
|
||||
here (1).
|
||||
|
||||
How to run the tests:
|
||||
------------------------------------------------------------------------
|
||||
- Download and expand the NIST test programs source.
|
||||
- Prepare the setup (make setup) which does the following:
|
||||
- Run nc_exec85.pl to create EXEC85.cob (perl nc_exec85.pl newcob.val).
|
||||
- Compile EXEC85.cob to create EXEC85.
|
||||
- If TC compiler is installed in bin directories (make EXEC85).
|
||||
- If TC compiler is installed in development directories (mak.sh EXEC85).
|
||||
- Run EXEC85.
|
||||
- Run nc_extr.pl to create test programs (perl nc_extr.pl XXXXX002).
|
||||
- Compile and run NIST test program as required.
|
||||
- Run all the tests (make -k -i -f ../Makefile_NC) from each subdirectory (in this case NC).
|
||||
You can select only one of the tests with the target program_name.PRT (i.e. NC101A.PRT).
|
||||
|
||||
|
||||
NIST test modules:
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Core tests:
|
||||
|
||||
NC - COBOL core tests
|
||||
SM - COPY sentence tests
|
||||
IC - CALL sentence tests
|
||||
|
||||
File I-O tests:
|
||||
|
||||
SQ - Sequential file I-O tests
|
||||
RL - Relative file I-O tests
|
||||
IX - Indexed file I-O tests
|
||||
ST - SORT sentence tests
|
||||
|
||||
Advanced features:
|
||||
|
||||
RW - REPORT SECTION tests
|
||||
CM - COMMUNICATION SECTION tests
|
||||
IF - Intrinsic Function tests
|
||||
SG - Segment tests
|
||||
DB - Debugging feature tests
|
||||
OB - Obsolete feature tests
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
1) NIST test programs source
|
||||
http://www.itl.nist.gov/div897/ctg/cobol_form.htm
|
||||
@@ -0,0 +1,19 @@
|
||||
TARGETS=\
|
||||
SM101A.PRT \
|
||||
SM102A.PRT \
|
||||
SM103A.PRT \
|
||||
SM104A.PRT \
|
||||
SM105A.PRT \
|
||||
SM106A.PRT \
|
||||
SM107A.PRT \
|
||||
SM201A.PRT \
|
||||
SM202A.PRT \
|
||||
SM203A.PRT \
|
||||
SM204A.PRT \
|
||||
SM205A.PRT \
|
||||
SM206A.PRT \
|
||||
SM207A.PRT \
|
||||
SM208A.PRT \
|
||||
SM301M.PRT \
|
||||
SM401M.PRT \
|
||||
report
|
||||
@@ -0,0 +1,12 @@
|
||||
Module : SM
|
||||
Filename Tot OK Fai Del Man
|
||||
SM103A.PRT 6 6 0 0 0 OK
|
||||
SM105A.PRT 9 9 0 0 0 OK
|
||||
SM106A.PRT 1 0 0 0 1 OK
|
||||
SM107A.PRT 200 200 0 0 0 OK
|
||||
SM201A.PRT 11 10 1 0 0
|
||||
SM203A.PRT 1 1 0 0 0 OK
|
||||
SM205A.PRT 9 9 0 0 0 OK
|
||||
SM208A.PRT 7 0 6 1 0
|
||||
Total: 244 235 7 1 1 8 6 OK
|
||||
Percentages: pgms ok: 75 % Tests ok: 96.3115 %
|
||||
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This shell script will run make and create trace.txt
|
||||
# cmd: mak.sh [filename(s)]
|
||||
# David Essex April 2001
|
||||
#
|
||||
e0a="invalid number of parms..."
|
||||
e0b="invalid option(s) "
|
||||
e0c="This shell script will run make and create trace.txt"
|
||||
e0d="cmd: mak.sh [filename(s)]"
|
||||
#
|
||||
p_print1 ()
|
||||
{
|
||||
for arg in "$@"
|
||||
do
|
||||
echo $arg >&2
|
||||
done
|
||||
}
|
||||
#
|
||||
PATH=../../compiler:$PATH
|
||||
#TCOB_DIR=$PWD/../../compiler
|
||||
#TCOB_PPDIR=$PWD/../../cobpp
|
||||
#export TCOB_DIR TCOB_PPDIR
|
||||
TCOB_OPTIONS_PATH=$PWD/../../compiler
|
||||
TCOB_PP_PATH=$PWD/../../cobpp
|
||||
export TCOB_OPTIONS_PATH TCOB_PP_PATH
|
||||
#
|
||||
#prglst=''
|
||||
prglst=`make programlist`
|
||||
prg=''
|
||||
#
|
||||
p_main ()
|
||||
{
|
||||
make clean
|
||||
for prg in "$@"
|
||||
do
|
||||
make $prg 2>$prg.run.err.trace.txt | tee -a $prg.run.trace.txt
|
||||
# echo "make for $prg"
|
||||
done
|
||||
}
|
||||
#
|
||||
if [ "$#" -eq 0 ]
|
||||
then
|
||||
p_main $prglst
|
||||
# echo "prglst="$prglst
|
||||
else
|
||||
p_main "$@"
|
||||
# echo "prglst="$prglst
|
||||
fi
|
||||
#
|
||||
@@ -0,0 +1,36 @@
|
||||
*SELECT-MODULE IX
|
||||
*SELECT-MODULE NC
|
||||
*SELECT-MODULE SM
|
||||
X-00173 "TEST_FILE"
|
||||
X-00273 "TEST_FILE2"
|
||||
X-00373 "SQ-FS3.DAT"
|
||||
X-01473 "SEQ1.DAT"
|
||||
X-01573 "SQ-FS3.DAT"
|
||||
X-01873 "SQ-FS2.DAT"
|
||||
X-01973 "SQ-FS3.DAT"
|
||||
X-02173 "REL1.DAT"
|
||||
X-02473 "IX-FS1.DAT"
|
||||
X-02573 "IX-FD2.DAT"
|
||||
X-02673 "IX-FD3.DAT"
|
||||
X-02773 "SORT1.DAT"
|
||||
X-02873 "SORT2.DAT"
|
||||
X-02973 "SORT3.DAT"
|
||||
X-05173 sw1
|
||||
X-05273 SW2
|
||||
X-05573 "prt" ORGANIZATION SEQUENTIAL
|
||||
X-05673 COB_DISPLAY
|
||||
X-05773 COB_INPUT
|
||||
X-05873 PARAMFIL
|
||||
X-06873 64000
|
||||
X-06973 COB_INPUT
|
||||
X-07473 ID
|
||||
X-07573 ID
|
||||
X-08173 "^%|\[]{}"
|
||||
X-08273 Linux
|
||||
X-08373 Linux
|
||||
X-08473 STANDARD
|
||||
X-09073 "A"
|
||||
X-09173 "D"
|
||||
*END-MONITOR
|
||||
*BEGIN-UPDATE
|
||||
*END-UPDATE
|
||||
@@ -0,0 +1,459 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
#
|
||||
# Copyright (C) 2001 David Essex
|
||||
#
|
||||
# This program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program 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 software; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
###########################################################################
|
||||
# #
|
||||
# Perl script to extract EXEC85 COBOL program from NIST test file #
|
||||
# and change SELECT clause file names #
|
||||
# #
|
||||
###########################################################################
|
||||
|
||||
|
||||
############### Globals ################
|
||||
|
||||
my $SW_start;
|
||||
# Set to true to output program files
|
||||
my $SW_output = "true";
|
||||
#my $SW_output = "";
|
||||
#
|
||||
my $SW_nistfile = "true";
|
||||
my $InString;
|
||||
my $OutString;
|
||||
my @InStringArray;
|
||||
my @InStringArray1;
|
||||
my $FileNameOut;
|
||||
#my $FileNameLog = "logfile.txt";
|
||||
#my $FileNameLog = $ARGV[1];
|
||||
my $FileNameLog;
|
||||
my @FileNameLogArray;
|
||||
my $FileNameNIST = $ARGV[0];
|
||||
my @SubPrmArray;
|
||||
my $SubPrmItem;
|
||||
my $PrgmInCntr = 0;
|
||||
my $SubDirDel = "/";
|
||||
my $SubDir = "e85/";
|
||||
# program name extention
|
||||
my $PrgmNameExtention = ".cob";
|
||||
#
|
||||
my $PrgmSubIn = "SELECT OPTIONAL POPULATION-FILE";
|
||||
my $PrgmSubOut = "SELECT POPULATION-FILE ";
|
||||
#
|
||||
#------------------ File names begin ------------------#
|
||||
#
|
||||
#\* "XXXXX001." "../newcob.val"
|
||||
my $PrgmFileIn01 = "XXXXX001. ";
|
||||
my $PrgmFileOut01 = "\"newcob.val\"";
|
||||
#
|
||||
# "XXXXX002".
|
||||
my $PrgmFileIn02 = "XXXXX002 ";
|
||||
my $PrgmFileOut02 = "\"XXXXX002\"";
|
||||
#
|
||||
# "XXXXX003".
|
||||
my $PrgmFileIn03 = "XXXXX003";
|
||||
my $PrgmFileOut03 = "\"XXXXX003\"";
|
||||
#
|
||||
# "XXXXX055".
|
||||
my $PrgmFileIn55 = "XXXXX055";
|
||||
my $PrgmFileOut55 = "\"XXXXX055\"";
|
||||
#
|
||||
# "XXXXX058" "make_pop_linux.txt"
|
||||
my $PrgmFileIn58 = "XXXXX058";
|
||||
my $PrgmFileOut58 = "\"make_pop_linux.txt\"";
|
||||
#
|
||||
#------------------ End globals ------------------#
|
||||
|
||||
sub initialize_rtn ()
|
||||
{
|
||||
|
||||
@FileNameLogArray = <logfile*txt>;
|
||||
$FileNameLog = "logfile." . ($#FileNameLogArray + 2) . ".txt";
|
||||
|
||||
if (-f $FileNameLog) {
|
||||
print "ERROR: file FileNameLog \"$FileNameLog\" exists\n";
|
||||
die;
|
||||
}
|
||||
# print "FileNameLog = $FileNameLog;\n";
|
||||
|
||||
open (NISTFILE, "< $FileNameNIST")
|
||||
or die "unable to open file \"$FileNameNIST\"";
|
||||
|
||||
open (LOGFILE, "> $FileNameLog ")
|
||||
or die "unable to run \"$FileNameLog\"";
|
||||
|
||||
}
|
||||
|
||||
sub process_header ()
|
||||
{
|
||||
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "head :" . $_ . ":\n";
|
||||
$SW_start = 'True';
|
||||
$InString = $_;
|
||||
$InString =~ s/^\*HEADER,//g;
|
||||
$InString =~ s/ /:/;
|
||||
$InString =~ s/ //g;
|
||||
print LOGFILE "InString :" . $InString . ":\n";
|
||||
@InStringArray1 = split(/:/, $InString);
|
||||
@InStringArray = split(/,/, $InStringArray1[0]);
|
||||
for ($i=0; $i<=$#InStringArray; $i++) {
|
||||
print LOGFILE "InStringArray[$i] :" . "$InStringArray[$i]" . ":\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub determine_FileNameOut ()
|
||||
{
|
||||
# $FileNameOut = $SubDir .
|
||||
$FileNameOut = $InStringArray[$#InStringArray] .
|
||||
$PrgmNameExtention;
|
||||
|
||||
print LOGFILE "FileNameOut :" . "$FileNameOut" . ":\n";
|
||||
}
|
||||
|
||||
sub output_PgmFile ()
|
||||
{
|
||||
print PGMFILE $InString . "\n";
|
||||
}
|
||||
|
||||
#
|
||||
#000600*INSTALLATION
|
||||
sub process_line_06 ()
|
||||
{
|
||||
$SubtStringIn1 = "000600 INSTALLATION";
|
||||
$SubtStringOut1 = "000600*INSTALLATION";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#000700* "ON-SITE VALIDATION,
|
||||
sub process_line_07 ()
|
||||
{
|
||||
$SubtStringIn1 = "000700 \"ON-SITE VALIDATION,";
|
||||
$SubtStringOut1 = "000700* \"ON-SITE VALIDATION,";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#000800* "COBOL 85 VERSION
|
||||
sub process_line_08 ()
|
||||
{
|
||||
$SubtStringIn1 = "000800 \"COBOL 85 VERSION";
|
||||
$SubtStringOut1 = "000800* \"COBOL 85 VERSION";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#my $PrgmFile55 = "\"XXXXX055\"";
|
||||
#my $PrgmFile58 = "\"make_pop_linux.txt\"";
|
||||
|
||||
#002500 SELECT OPTIONAL POPULATION-FILE EXEC84.2
|
||||
#002600 ASSIGN TO EXEC84.2
|
||||
#002700 XXXXX001. EXEC84.2
|
||||
#
|
||||
#\* SELECT OPTIONAL POPULATION-FILE
|
||||
# SELECT POPULATION-FILE
|
||||
# ASSIGN TO
|
||||
#* "XXXXX001"
|
||||
# "newcob.val"
|
||||
# ORGANIZATION LINE SEQUENTIAL
|
||||
# ACCESS SEQUENTIAL.
|
||||
#
|
||||
sub process_file01_24 ()
|
||||
{
|
||||
$SubtStringIn1 = "002500 SELECT";
|
||||
$SubtStringOut1 = "002500* SELECT";
|
||||
$SubtStringIn2 = "SELECT OPTIONAL POPULATION-FILE";
|
||||
$SubtStringOut2 = "SELECT POPULATION-FILE ";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn2/$SubtStringOut2/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
sub process_file01_26 ()
|
||||
{
|
||||
$SubtStringIn1 = "002700 XXXXX001. ";
|
||||
$SubtStringOut1 = "002700* XXXXX001. ";
|
||||
$SubtStringOut2 = "002701 ORGANIZATION LINE SEQUENTIAL";
|
||||
$SubtStringOut3 = "002702 ACCESS SEQUENTIAL. ";
|
||||
# $SubtStringIn2 = "XXXXX001. ";
|
||||
# $PrgmFile01 = "newcob.val";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$PrgmFileIn01/$PrgmFileOut01/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut2/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut3/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#002800 SELECT SOURCE-COBOL-PROGRAMS EXEC84.2
|
||||
#002900 ASSIGN TO EXEC84.2
|
||||
#003000 XXXXX002 EXEC84.2
|
||||
#003100 ORGANIZATION SEQUENTIAL. EXEC84.2
|
||||
#
|
||||
# SELECT SOURCE-COBOL-PROGRAMS
|
||||
# ASSIGN TO
|
||||
# "XXXXX002"
|
||||
# ORGANIZATION LINE SEQUENTIAL
|
||||
#* ORGANIZATION SEQUENTIAL
|
||||
# ACCESS SEQUENTIAL.
|
||||
#* ORGANIZATION SEQUENTIAL.
|
||||
#
|
||||
sub process_file02_29 ()
|
||||
{
|
||||
$SubtStringIn1 = "003000 XXXXX002";
|
||||
$SubtStringOut1 = "003000* XXXXX002";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$PrgmFileIn02/$PrgmFileOut02/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
sub process_file02_30 ()
|
||||
{
|
||||
$SubtStringIn = "003100 ORGANIZATION SEQUENTIAL. ";
|
||||
$SubtStringOut1 = "003100* ORGANIZATION SEQUENTIAL. ";
|
||||
$SubtStringOut2 = "003100 ORGANIZATION LINE SEQUENTIAL";
|
||||
$SubtStringOut3 = "003101 ACCESS SEQUENTIAL. ";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn/$SubtStringOut2/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn/$SubtStringOut3/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#003200 SELECT UPDATED-POPULATION-FILE EXEC84.2
|
||||
#003300 ASSIGN TO EXEC84.2
|
||||
#003400 XXXXX003. EXEC84.2
|
||||
#
|
||||
# SELECT UPDATED-POPULATION-FILE
|
||||
# ASSIGN TO
|
||||
# "XXXXX003".
|
||||
#
|
||||
sub process_file03_33 ()
|
||||
{
|
||||
$SubtStringIn1 = "003400 XXXXX003.";
|
||||
$SubtStringOut1 = "003400* XXXXX003.";
|
||||
# "XXXXX003".
|
||||
# $PrgmFileIn03 = "XXXXX003";
|
||||
# $PrgmFileOut03 = ""XXXXX003"";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$PrgmFileIn03. /$PrgmFileOut03./;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#
|
||||
#003500 SELECT PRINT-FILE EXEC84.2
|
||||
#003600 ASSIGN TO EXEC84.2
|
||||
#003700 XXXXX055. EXEC84.2
|
||||
#
|
||||
# SELECT PRINT-FILE
|
||||
# ASSIGN TO
|
||||
# "XXXXX055".
|
||||
sub process_file55_36 ()
|
||||
{
|
||||
$SubtStringIn1 = "003700 XXXXX055.";
|
||||
$SubtStringOut1 = "003700* XXXXX055.";
|
||||
# "XXXXX055".
|
||||
# $PrgmFileIn55 = "XXXXX055";
|
||||
# $PrgmFileOut55 = ""XXXXX055"";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$PrgmFileIn55. /$PrgmFileOut55./;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
#
|
||||
#003800 SELECT CONTROL-CARD-FILE EXEC84.2
|
||||
#003900 ASSIGN TO EXEC84.2
|
||||
#004000 XXXXX058. EXEC84.2
|
||||
#
|
||||
# SELECT CONTROL-CARD-FILE
|
||||
# ASSIGN TO
|
||||
#* "XXXXX058"
|
||||
# "make_pop_linux.txt"
|
||||
# ORGANIZATION LINE SEQUENTIAL
|
||||
# ACCESS SEQUENTIAL.
|
||||
sub process_file58_39 ()
|
||||
{
|
||||
$SubtStringIn1 = "004000 XXXXX058.";
|
||||
$SubtStringOut1 = "004000* XXXXX058.";
|
||||
$SubtStringIn2 = "004000 XXXXX058. ";
|
||||
$SubtStringOut2 = "004001 ORGANIZATION LINE SEQUENTIAL";
|
||||
$SubtStringOut3 = "004002 ACCESS SEQUENTIAL. ";
|
||||
# "XXXXX058" "make_pop_linux.txt"
|
||||
# $PrgmFileIn58 = "XXXXX058";
|
||||
# $PrgmFileOut58 = ""make_pop_linux.txt"";
|
||||
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn1/$SubtStringOut1/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$PrgmFileIn58\. /$PrgmFileOut58/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn2/$SubtStringOut2/;
|
||||
output_PgmFile;
|
||||
$InString = $_;
|
||||
$InString =~ s/$SubtStringIn2/$SubtStringOut3/;
|
||||
output_PgmFile;
|
||||
}
|
||||
|
||||
# -------------------- main begins here -------------------- #
|
||||
|
||||
if ($#ARGV != 0) {
|
||||
print "ERROR: invalid number of arguments " . ($#ARGV + 1) . " != 1\n";
|
||||
die;
|
||||
}
|
||||
|
||||
initialize_rtn;
|
||||
|
||||
#while ($SW_nistfile)
|
||||
#read(NISTFILE, $inbuf, 81);
|
||||
read(NISTFILE, $_, 81);
|
||||
while ($SW_nistfile)
|
||||
#while (<NISTFILE>)
|
||||
#while ((<NISTFILE>) && ($SW_nistfile))
|
||||
{
|
||||
# $_ = $inbuf;
|
||||
chop;
|
||||
if ($SW_start) {
|
||||
if (/^\*END-OF,/) {
|
||||
print LOGFILE "tail :" . $_ . ":\n";
|
||||
$SW_start = '';
|
||||
if ($SW_output) {
|
||||
close(PGMFILE);
|
||||
}
|
||||
$SW_nistfile = '';
|
||||
close(NISTFILE);
|
||||
}
|
||||
else {
|
||||
# $PrgmInCntr++;
|
||||
if ($SW_output) {
|
||||
$PrgmInCntr++;
|
||||
# if (($PrgmInCntr > 23) && ($PrgmInCntr < 40)) {
|
||||
if (($PrgmInCntr == 5) ||
|
||||
($PrgmInCntr == 6) ||
|
||||
($PrgmInCntr == 7) ||
|
||||
($PrgmInCntr == 24) ||
|
||||
($PrgmInCntr == 26) ||
|
||||
($PrgmInCntr == 29) ||
|
||||
($PrgmInCntr == 30) ||
|
||||
($PrgmInCntr == 33) ||
|
||||
($PrgmInCntr == 36) ||
|
||||
($PrgmInCntr == 39)
|
||||
) {
|
||||
if ($PrgmInCntr == 24) {
|
||||
process_file01_24;
|
||||
# $InString = $_;
|
||||
# process_line25($_);
|
||||
# print PGMFILE $InString . "\n";
|
||||
}
|
||||
|
||||
if ($PrgmInCntr == 5) {
|
||||
process_line_06;
|
||||
}
|
||||
if ($PrgmInCntr == 6) {
|
||||
process_line_07;
|
||||
}
|
||||
if ($PrgmInCntr == 7) {
|
||||
process_line_08;
|
||||
}
|
||||
if ($PrgmInCntr == 26) {
|
||||
process_file01_26;
|
||||
}
|
||||
if ($PrgmInCntr == 29) {
|
||||
process_file02_29;
|
||||
}
|
||||
if ($PrgmInCntr == 30) {
|
||||
process_file02_30;
|
||||
}
|
||||
if ($PrgmInCntr == 33) {
|
||||
process_file03_33;
|
||||
}
|
||||
if ($PrgmInCntr == 36) {
|
||||
process_file55_36;
|
||||
}
|
||||
if ($PrgmInCntr == 39) {
|
||||
process_file58_39;
|
||||
}
|
||||
}
|
||||
else {
|
||||
print PGMFILE $_ . "\n";
|
||||
}
|
||||
}
|
||||
# $PrgmInCntr++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (/^\*HEADER,/) {
|
||||
process_header;
|
||||
determine_FileNameOut;
|
||||
if ($SW_output) {
|
||||
open (PGMFILE, "> $FileNameOut")
|
||||
or die "unable to open output file \"$FileNameOut\"";
|
||||
}
|
||||
}
|
||||
else {
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "ignoring :" . $_ . ":\n";
|
||||
}
|
||||
}
|
||||
# read(NISTFILE, $inbuf, 81);
|
||||
read(NISTFILE, $_, 81);
|
||||
}
|
||||
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "PrgmInCntr =" . $PrgmInCntr;
|
||||
|
||||
close(NISTFILE);
|
||||
close(LOGFILE);
|
||||
|
||||
__END__
|
||||
@@ -0,0 +1,322 @@
|
||||
#!/usr/local/bin/perl -w
|
||||
#
|
||||
# Copyright (C) 2001 David Essex
|
||||
#
|
||||
# This program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program 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 software; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
###########################################################################
|
||||
# #
|
||||
# Perl script to separate NIST test suite into separate files #
|
||||
# and create a Makefile for the NIST test suite COBOL programs #
|
||||
# #
|
||||
###########################################################################
|
||||
|
||||
|
||||
################################ Globals ##################################
|
||||
|
||||
my $SW_start;
|
||||
# Set to true to output program files
|
||||
my $SW_output = "true";
|
||||
#my $SW_output = "";
|
||||
my $InString;
|
||||
my @InStringArray;
|
||||
my @InStringArray1;
|
||||
my $FileNameOut;
|
||||
my $FileName;
|
||||
#my $FileNameLog = "logfile.txt";
|
||||
#my $FileNameLog = $ARGV[1];
|
||||
my $FileNameLog;
|
||||
my @FileNameLogArray;
|
||||
my $FileNameNIST = $ARGV[0];
|
||||
my @SubPrmArray;
|
||||
my $SubPrmItem;
|
||||
my $PrgmOutCntr = 0;
|
||||
my $SubDirDel = "/";
|
||||
# Replace directory name if required
|
||||
#my $SubDir0 = "t";
|
||||
my $SubDir0 = ".";
|
||||
my $SubDir1 = "copybooks";
|
||||
my $SubDir = "";
|
||||
my $SubDirIdx = 0;
|
||||
my @SubDirList = ("copybooks", "XX", "CM", "DB", "IC", "IF", "IX", "NC", "OB", "RL", "RW", "SG", "SM", "SQ", "ST");
|
||||
my @SubDirListCntr = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
#
|
||||
# PrgmList is actually an array of arrays
|
||||
# It is used in two subroutines: create_makefile_list and create_makefiles
|
||||
# The syntax for an array of arrays is a bit odd
|
||||
# For more information on the syntax see:
|
||||
# http://www.perldoc.com/perl5.6.1/pod/perldsc.html#ARRAYS-OF-ARRAYS
|
||||
my @PrgmList;
|
||||
#
|
||||
my @ExtentionStringArray1 = ("COBOL", "SUBRTN", "SUBPRG", "CLBRY", "DATA*");
|
||||
# Replace values with preffered output extention (suffix)
|
||||
my @ExtentionStringArray2 = (".CBL", ".SUBRTN", ".SUBPRG", ".CPY", ".DATA");
|
||||
#my @ExtentionStringArray2 = (".CBL", ".SUBRTN", ".CBL", "", ".DATA");
|
||||
my @ExtentionStringArrayCntr = (0, 0, 0, 0, 0);
|
||||
#
|
||||
|
||||
#------------------------------ End globals ------------------------------#
|
||||
|
||||
############################### Subroutines ###############################
|
||||
|
||||
sub initialize_rtn ()
|
||||
{
|
||||
if (! -d $SubDir0) {
|
||||
mkdir $SubDir0, 0755 ;
|
||||
}
|
||||
}
|
||||
|
||||
sub create_subdir ()
|
||||
{
|
||||
$SubDir = $SubDir0 . $SubDirDel . $SubDirList[$SubDirIdx];
|
||||
if (! -d $SubDir) {
|
||||
mkdir $SubDir, 0755 ;
|
||||
}
|
||||
}
|
||||
|
||||
sub process_header ()
|
||||
{
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "head :" . $_ . ":\n";
|
||||
$SW_start = 'True';
|
||||
$InString = $_;
|
||||
$InString =~ s/\*HEADER,//g;
|
||||
# $InString =~ s/ /:/;
|
||||
$InString =~ s/ //g;
|
||||
print LOGFILE "InString :" . $InString . ":\n";
|
||||
@InStringArray1 = split(/:/, $InString);
|
||||
@InStringArray = split(/,/, $InStringArray1[0]);
|
||||
for ($i=0; $i<=$#InStringArray; $i++) {
|
||||
print LOGFILE "InStringArray[$i] :" . "$InStringArray[$i]" . ":\n";
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Add current filename to the appropriate directory listing
|
||||
#
|
||||
sub create_makefile_list ()
|
||||
{
|
||||
# push(@PrgmList, $FileName);
|
||||
if ($SubDirIdx >= 2 and $SubDirIdx <= 14) {
|
||||
push(@{$PrgmList[$SubDirIdx]}, $FileName);
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# Output information about each directory to the log file
|
||||
#
|
||||
sub create_makefiles ()
|
||||
{
|
||||
for ($SubDirIdx=2; $SubDirIdx<=14; $SubDirIdx++) {
|
||||
push(@{$PrgmList[$SubDirIdx]}, $FileName);
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "Number of elements in " . $SubDirList[$SubDirIdx] .
|
||||
" array :" . $#{$PrgmList[$SubDirIdx]} . "\n";
|
||||
for ($i=0; $i<$#{$PrgmList[$SubDirIdx]}; $i++) {
|
||||
print LOGFILE "Element " . $i . " in " . $SubDirList[$SubDirIdx] .
|
||||
" array " . $PrgmList[$SubDirIdx][$i] ."\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub determine_FileNameOut ()
|
||||
{
|
||||
$i = 0;
|
||||
$ftype = "";
|
||||
$ftlist = $InStringArray[$#InStringArray];
|
||||
$ftdir = substr $ftlist, 0, 2;
|
||||
# print LOGFILE "Debug : \$ftlist=" . $ftlist .
|
||||
# ", \$ftdir=" .$ftdir .
|
||||
# "\;\n";
|
||||
|
||||
# $j = $#InStringArray - 1;
|
||||
# Determine file extention and substitution
|
||||
$fext = $InStringArray[$#InStringArray];
|
||||
for ($i=0; $i<=$#ExtentionStringArray1; $i++) {
|
||||
# print LOGFILE "Debug : \$ExtentionStringArray1[" .
|
||||
# $i .
|
||||
# "]=" .
|
||||
# $ExtentionStringArray1[$i] .
|
||||
# ", " .
|
||||
# " \$InStringArray[" . $j . "]=" .
|
||||
# $InStringArray[$#InStringArray - 1] .
|
||||
# ":\n";
|
||||
if ($ExtentionStringArray1[$i] eq $InStringArray[$#InStringArray - 1]) {
|
||||
$fext = $ExtentionStringArray2[$i];
|
||||
$ftype = $i;
|
||||
$ExtentionStringArrayCntr[$i]++;
|
||||
$i= $#ExtentionStringArray1;
|
||||
}
|
||||
}
|
||||
|
||||
# Determine program sub directory
|
||||
if ($ftype eq 3) {
|
||||
$SubDir = $SubDirList[0];
|
||||
$SubDirListCntr[0]++;
|
||||
$SubDirIdx = 0;
|
||||
}
|
||||
else {
|
||||
$SubDir = $SubDirList[1];
|
||||
$SubDirListCntr[1]++;
|
||||
for ($i=2; $i<=$#SubDirList; $i++) {
|
||||
if ($SubDirList[$i] eq $ftdir) {
|
||||
$SubDir = $SubDirList[$i];
|
||||
$SubDirIdx = $i;
|
||||
$SubDirListCntr[1]--;
|
||||
$SubDirListCntr[$i]++;
|
||||
$i = $#SubDirList;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# $FileName = $InStringArray[$#InStringArray] . "." . $fext;
|
||||
$FileName = $InStringArray[$#InStringArray] . $fext;
|
||||
|
||||
$FileNameOut = $SubDir0 .
|
||||
$SubDirDel .
|
||||
$SubDir .
|
||||
$SubDirDel .
|
||||
$FileName ;
|
||||
|
||||
print LOGFILE "FileNameOut :" . "$FileNameOut" . ":\n";
|
||||
|
||||
if ($SubDirListCntr[$SubDirIdx] == 1) {
|
||||
create_subdir;
|
||||
}
|
||||
if ($SubDirIdx > 1) {
|
||||
create_makefile_list;
|
||||
}
|
||||
}
|
||||
|
||||
sub makefile_list1 ()
|
||||
{
|
||||
|
||||
print LOGFILE "Number of elements in array :" . $#SubPrmArray . "\n";
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
|
||||
#sort @SubPrmArray;
|
||||
|
||||
@InStringArray1 = split(/:/, $SubPrmArray[0]);
|
||||
$element1 = $InStringArray1[0];
|
||||
$element2 = $InStringArray1[0];
|
||||
foreach $element (@SubPrmArray) {
|
||||
@InStringArray1 = split(/:/, $element);
|
||||
if ($element1 eq $InStringArray1[0]) {
|
||||
$element2 = $element2 . " " . $InStringArray1[1];
|
||||
}
|
||||
else {
|
||||
print LOGFILE "$element2" . "\n";
|
||||
$element1 = $InStringArray1[0];
|
||||
$element2 = $InStringArray1[0] . " " . $InStringArray1[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#---------------------------- End subroutines ----------------------------#
|
||||
|
||||
################################## Main ###################################
|
||||
|
||||
if ($#ARGV != 0) {
|
||||
print "ERROR: invalid number of arguments " . ($#ARGV + 1) . " != 1\n";
|
||||
die;
|
||||
}
|
||||
|
||||
@FileNameLogArray = <logfile*txt>;
|
||||
$FileNameLog = "logfile." . ($#FileNameLogArray + 2) . ".txt";
|
||||
if (-f $FileNameLog) {
|
||||
print "ERROR: file FileNameLog \"$FileNameLog\" exists\n";
|
||||
die;
|
||||
}
|
||||
#print "FileNameLog = $FileNameLog;\n";
|
||||
|
||||
#die;
|
||||
|
||||
#open (NISTFILE, "< $ARGV[0]")
|
||||
open (NISTFILE, "< $FileNameNIST")
|
||||
or die "unable to open file \"$FileNameNIST\"";
|
||||
open (LOGFILE, "> $FileNameLog ")
|
||||
or die "unable to create file \"$FileNameLog\"";
|
||||
|
||||
# Remove comment to create directories where for output program files
|
||||
initialize_rtn;
|
||||
|
||||
while (<NISTFILE>)
|
||||
{
|
||||
chop;
|
||||
if ($SW_start) {
|
||||
if (/\*END-OF,/) {
|
||||
print LOGFILE "tail :" . $_ . ":\n";
|
||||
$SW_start = '';
|
||||
$PrgmOutCntr++;
|
||||
if ($SW_output) {
|
||||
close(PGMFILE);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($SW_output) {
|
||||
print PGMFILE $_ . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (/\*HEADER,/) {
|
||||
process_header;
|
||||
determine_FileNameOut;
|
||||
if ($SW_output) {
|
||||
open (PGMFILE, "> $FileNameOut")
|
||||
or die "unable to open output file \"$FileNameOut\"";
|
||||
}
|
||||
# if (($#InStringArray == 3) and ("$InStringArray[2]" eq "SUBPRG")) {
|
||||
# if ($#InStringArray == 3) {
|
||||
# $SubPrmItem = $InStringArray[1] . "." . $InStringArray[0] . ":" .
|
||||
# $InStringArray[3] . "." . $InStringArray[2];
|
||||
# print LOGFILE "SubPrmItem:" . "$SubPrmItem" . ":\n";
|
||||
# push(@SubPrmArray, $SubPrmItem);
|
||||
# }
|
||||
}
|
||||
else {
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "ignoring :" . $_ . ":\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print LOGFILE "* ---------------------------------------- *\n";
|
||||
print LOGFILE "Number of output programs :" . $PrgmOutCntr . "\n";
|
||||
print LOGFILE "****\n";
|
||||
for ($y=0; $y<=$#SubDirList; $y++) {
|
||||
print LOGFILE "Number of files in directory " .
|
||||
$SubDirList[$y] .
|
||||
" is " .
|
||||
$SubDirListCntr[$y] .
|
||||
"\n";
|
||||
}
|
||||
print LOGFILE "****\n";
|
||||
for ($y=0; $y<=$#ExtentionStringArray1; $y++) {
|
||||
print LOGFILE "Number of files by extention " .
|
||||
$ExtentionStringArray2[$y] .
|
||||
" is " .
|
||||
$ExtentionStringArrayCntr[$y] .
|
||||
"\n";
|
||||
}
|
||||
print LOGFILE "****\n";
|
||||
|
||||
create_makefiles;
|
||||
|
||||
close(LOGFILE);
|
||||
|
||||
__END__
|
||||
@@ -0,0 +1,119 @@
|
||||
#!/usr/bin/perl -s
|
||||
#
|
||||
# Copyright (C) 2001 Keisuke Nishida
|
||||
#
|
||||
# This program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program 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 software; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
|
||||
$skip{"NC109M"} = 1;
|
||||
$skip{"NC110M"} = 1;
|
||||
$skip{"NC113M"} = 1;
|
||||
$skip{"NC204M"} = 1;
|
||||
|
||||
my $num_progs = 0;
|
||||
my $test_skipped = 0;
|
||||
my $compile_error = 0;
|
||||
my $execute_error = 0;
|
||||
|
||||
my $total_all = 0;
|
||||
my $total_pass = 0;
|
||||
my $total_fail = 0;
|
||||
my $total_deleted = 0;
|
||||
my $total_inspect = 0;
|
||||
my $total_ok = 0;
|
||||
|
||||
open (LOG, "> ../report.log") || die;
|
||||
print LOG "Filename total pass fail deleted inspect\n";
|
||||
print LOG "-------- ----- ---- ---- ------- -------\n";
|
||||
|
||||
foreach $in (glob("*.CBL")) {
|
||||
my $exe = $in;
|
||||
my $prt = $in;
|
||||
$exe =~ s/\.CBL//;
|
||||
$prt =~ s/\.CBL/\.PRT/;
|
||||
$num_progs++;
|
||||
printf LOG "%-12s", $in;
|
||||
if ($skip{$exe}) {
|
||||
$test_skipped++;
|
||||
print LOG " ----- test skipped -----\n";
|
||||
} else {
|
||||
print "cobc $in && ./$exe\n";
|
||||
if (system ("cobc $in") != 0) {
|
||||
$compile_error++;
|
||||
print LOG " ===== compile error =====\n";
|
||||
} else {
|
||||
if (system ("./$exe") != 0) {
|
||||
$execute_error++;
|
||||
print LOG " ***** execute error *****\n";
|
||||
} else {
|
||||
my $total = 0;
|
||||
my $pass = 0;
|
||||
my $fail = 0;
|
||||
my $deleted = 0;
|
||||
my $inspect = 0;
|
||||
if (open (PRT, "report.txt")) {
|
||||
while (<PRT>) {
|
||||
if (/^ *([0-9]+) *OF *([0-9]+) *TESTS WERE/) {
|
||||
$total += $2;
|
||||
$pass += $1;
|
||||
} elsif (/^ *([0-9NO]+) *TEST\(S\) ([A-Z]+)/) {
|
||||
my $num = $1 eq "NO" ? 0 : $1;
|
||||
if ($2 eq "FAILED") {
|
||||
$fail += $num;
|
||||
} elsif ($2 eq "DELETED") {
|
||||
$deleted += $num;
|
||||
} elsif ($2 eq "REQUIRE") {
|
||||
$inspect += $num;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
printf LOG ("%5s %4s %4s %7s %7s %s\n",
|
||||
$total, $pass, $fail, $deleted, $inspect,
|
||||
$fail == 0 ? "OK" : "");
|
||||
$total_all += $total;
|
||||
$total_pass += $pass;
|
||||
$total_fail += $fail;
|
||||
$total_deleted += $deleted;
|
||||
$total_inspect += $inspect;
|
||||
$total_ok++ if $fail == 0;
|
||||
rename ("report.txt", "$exe.PRT");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print LOG "-------- ----- ---- ---- ------- -------\n";
|
||||
printf LOG ("Total %5s %4s %4s %7s %7s\n",
|
||||
$total_all, $total_pass, $total_fail, $total_deleted,
|
||||
$total_inspect);
|
||||
printf LOG ("%% 100.0 %4.1f %4.1f %4.1f %4.1f\n\n",
|
||||
100 * $total_pass / $total_all,
|
||||
100 * $total_fail / $total_all,
|
||||
100 * $total_deleted / $total_all,
|
||||
100 * $total_inspect / $total_all) if $total_all;
|
||||
|
||||
$num_tested = $num_progs - $test_skipped - $compile_error - $execute_error;
|
||||
printf LOG ("Number of programs: %2s\n", $num_progs);
|
||||
printf LOG ("Successfully tested: %2s (%5.2f%%)\n",
|
||||
$num_tested, 100 * $num_tested / $num_progs);
|
||||
printf LOG ("Successfully executed: %2s (%5.2f%%)\n",
|
||||
$total_ok, 100 * $total_ok / $num_progs);
|
||||
printf LOG ("Test skipped: %2s (%5.2f%%)\n",
|
||||
$test_skipped, 100 * $test_skipped / $num_progs);
|
||||
printf LOG ("Compile error: %2s (%5.2f%%)\n",
|
||||
$compile_error, 100 * $compile_error / $num_progs);
|
||||
printf LOG ("Execute error: %2s (%5.2f%%)\n",
|
||||
$execute_error, 100 * $execute_error / $num_progs);
|
||||
@@ -0,0 +1,123 @@
|
||||
Module : IX
|
||||
Filename Tot OK Fai Del Man
|
||||
IX101A.PRT 2 2 0 0 0 OK
|
||||
IX104A.PRT 13 13 0 0 0 OK
|
||||
IX105A.PRT 9 9 0 0 0 OK
|
||||
IX106A.PRT 10 10 0 0 0 OK
|
||||
IX107A.PRT 14 14 0 0 0 OK
|
||||
IX108A.PRT 32 32 0 0 0 OK
|
||||
IX109A.PRT 13 12 1 0 0
|
||||
IX112A.PRT 7 6 1 0 0
|
||||
IX113A.PRT 4 4 0 0 0 OK
|
||||
IX121A.PRT 3 3 0 0 0 OK
|
||||
IX201A.PRT 2 2 0 0 0 OK
|
||||
IX204A.PRT 13 13 0 0 0 OK
|
||||
IX205A.PRT 12 11 1 0 0
|
||||
IX206A.PRT 10 9 1 0 0
|
||||
IX207A.PRT 8 8 0 0 0 OK
|
||||
IX208A.PRT 29 19 10 0 0
|
||||
IX210A.PRT 39 27 12 0 0
|
||||
IX211A.PRT 17 13 4 0 0
|
||||
IX212A.PRT 24 21 3 0 0
|
||||
IX213A.PRT 21 15 6 0 0
|
||||
IX214A.PRT 39 27 12 0 0
|
||||
IX215A.PRT 33 7 23 3 0
|
||||
IX216A.PRT 15 9 5 1 0
|
||||
IX217A.PRT 6 1 5 0 0
|
||||
IX218A.PRT 6 3 3 0 0
|
||||
Total: 381 290 87 4 0 25 11 OK
|
||||
Percentages: pgms ok: 44 % Tests ok: 76.1155 %
|
||||
Module : NC
|
||||
Filename Tot OK Fai Del Man
|
||||
NC101A.PRT 93 93 0 0 0 OK
|
||||
NC102A.PRT 42 42 0 0 0 OK
|
||||
NC103A.PRT 102 102 0 0 0 OK
|
||||
NC104A.PRT 141 141 0 0 0 OK
|
||||
NC105A.PRT 132 129 0 3 0 OK
|
||||
NC106A.PRT 126 121 5 0 0
|
||||
NC107A.PRT 177 171 1 0 5
|
||||
NC108M.PRT 14 14 0 0 0 OK
|
||||
NC111A.PRT 7 7 0 0 0 OK
|
||||
NC112A.PRT 32 32 0 0 0 OK
|
||||
NC114M.PRT 6 5 0 0 1 OK
|
||||
NC115A.PRT 31 31 0 0 0 OK
|
||||
NC116A.PRT 66 66 0 0 0 OK
|
||||
NC117A.PRT 40 39 1 0 0
|
||||
NC118A.PRT 29 23 6 0 0
|
||||
NC119A.PRT 36 33 3 0 0
|
||||
NC120A.PRT 39 36 3 0 0
|
||||
NC121M.PRT 41 39 0 0 2 OK
|
||||
NC122A.PRT 24 24 0 0 0 OK
|
||||
NC123A.PRT 34 34 0 0 0 OK
|
||||
NC124A.PRT 169 167 2 0 0
|
||||
NC125A.PRT 110 110 0 0 0 OK
|
||||
NC126A.PRT 145 145 0 0 0 OK
|
||||
NC127A.PRT 2 2 0 0 0 OK
|
||||
NC131A.PRT 10 10 0 0 0 OK
|
||||
NC132A.PRT 25 25 0 0 0 OK
|
||||
NC133A.PRT 25 25 0 0 0 OK
|
||||
NC134A.PRT 20 20 0 0 0 OK
|
||||
NC135A.PRT 8 7 0 0 1 OK
|
||||
NC136A.PRT 8 8 0 0 0 OK
|
||||
NC137A.PRT 8 8 0 0 0 OK
|
||||
NC138A.PRT 36 36 0 0 0 OK
|
||||
NC139A.PRT 41 41 0 0 0 OK
|
||||
NC140A.PRT 70 70 0 0 0 OK
|
||||
NC141A.PRT 9 9 0 0 0 OK
|
||||
NC170A.PRT 96 93 3 0 0
|
||||
NC171A.PRT 108 107 1 0 0
|
||||
NC172A.PRT 101 101 0 0 0 OK
|
||||
NC173A.PRT 102 102 0 0 0 OK
|
||||
NC175A.PRT 97 92 5 0 0
|
||||
NC176A.PRT 124 121 3 0 0
|
||||
NC177A.PRT 108 104 4 0 0
|
||||
NC201A.PRT 59 56 3 0 0
|
||||
NC202A.PRT 77 74 3 0 0
|
||||
NC203A.PRT 57 55 2 0 0
|
||||
NC204M.PRT 15 0 15 0 0
|
||||
NC206A.PRT 53 53 0 0 0 OK
|
||||
NC207A.PRT 85 85 0 0 0 OK
|
||||
NC208A.PRT 24 24 0 0 0 OK
|
||||
NC209A.PRT 32 27 5 0 0
|
||||
NC210A.PRT 85 85 0 0 0 OK
|
||||
NC214M.PRT 0 0 0 0 0 OK
|
||||
NC216A.PRT 57 55 2 0 0
|
||||
NC217A.PRT 81 80 0 1 0 OK
|
||||
NC218A.PRT 125 125 0 0 0 OK
|
||||
NC219A.PRT 9 7 2 0 0
|
||||
NC220M.PRT 25 23 0 0 2 OK
|
||||
NC221A.PRT 17 17 0 0 0 OK
|
||||
NC222A.PRT 8 8 0 0 0 OK
|
||||
NC223A.PRT 94 42 52 0 0
|
||||
NC224A.PRT 14 10 0 4 0 OK
|
||||
NC231A.PRT 24 16 8 0 0
|
||||
NC232A.PRT 17 17 0 0 0 OK
|
||||
NC233A.PRT 14 7 7 0 0
|
||||
NC234A.PRT 17 17 0 0 0 OK
|
||||
NC236A.PRT 10 5 5 0 0
|
||||
NC239A.PRT 8 8 0 0 0 OK
|
||||
NC240A.PRT 11 11 0 0 0 OK
|
||||
NC241A.PRT 11 11 0 0 0 OK
|
||||
NC242A.PRT 12 12 0 0 0 OK
|
||||
NC243A.PRT 16 16 0 0 0 OK
|
||||
NC244A.PRT 6 6 0 0 0 OK
|
||||
NC245A.PRT 28 28 0 0 0 OK
|
||||
NC247A.PRT 21 17 3 1 0
|
||||
NC248A.PRT 11 8 3 0 0
|
||||
NC251A.PRT 59 58 1 0 0
|
||||
NC252A.PRT 75 75 0 0 0 OK
|
||||
NC253A.PRT 61 48 13 0 0
|
||||
Total: 3952 3771 161 9 11 78 51 OK
|
||||
Percentages: pgms ok: 65.3846 % Tests ok: 95.42 %
|
||||
Module : SM
|
||||
Filename Tot OK Fai Del Man
|
||||
SM103A.PRT 6 6 0 0 0 OK
|
||||
SM105A.PRT 9 9 0 0 0 OK
|
||||
SM106A.PRT 1 0 0 0 1 OK
|
||||
SM107A.PRT 200 200 0 0 0 OK
|
||||
SM201A.PRT 11 10 1 0 0
|
||||
SM203A.PRT 1 1 0 0 0 OK
|
||||
SM205A.PRT 9 9 0 0 0 OK
|
||||
SM208A.PRT 7 0 6 1 0
|
||||
Total: 244 235 7 1 1 8 6 OK
|
||||
Percentages: pgms ok: 75 % Tests ok: 96.3115 %
|
||||
@@ -0,0 +1,116 @@
|
||||
Module : IX
|
||||
Filename Tot OK Fai Del Man
|
||||
IX101A.PRT 2 2 0 0 0 OK
|
||||
IX102A.PRT 11 11 0 0 0 OK
|
||||
IX103A.PRT 12 12 0 0 0 OK
|
||||
IX104A.PRT 13 10 3 0 0
|
||||
IX105A.PRT 9 9 0 0 0 OK
|
||||
IX106A.PRT 10 10 0 0 0 OK
|
||||
IX107A.PRT 14 14 0 0 0 OK
|
||||
IX108A.PRT 32 32 0 0 0 OK
|
||||
IX109A.PRT 13 9 4 0 0
|
||||
IX110A.PRT 4 4 0 0 0 OK
|
||||
IX111A.PRT 0 0 0 0 0 OK
|
||||
IX112A.PRT 7 6 1 0 0
|
||||
IX113A.PRT 4 3 1 0 0
|
||||
IX114A.PRT 3 2 1 0 0
|
||||
IX115A.PRT 3 2 1 0 0
|
||||
IX116A.PRT 3 2 1 0 0
|
||||
IX117A.PRT 3 2 1 0 0
|
||||
IX118A.PRT 3 2 1 0 0
|
||||
IX119A.PRT 3 1 2 0 0
|
||||
IX120A.PRT 2 1 1 0 0
|
||||
IX121A.PRT 3 3 0 0 0 OK
|
||||
IX201A.PRT 2 2 0 0 0 OK
|
||||
IX202A.PRT 11 11 0 0 0 OK
|
||||
IX203A.PRT 12 12 0 0 0 OK
|
||||
IX204A.PRT 13 10 3 0 0
|
||||
IX205A.PRT 12 11 1 0 0
|
||||
IX206A.PRT 10 9 1 0 0
|
||||
IX208A.PRT 29 21 8 0 0
|
||||
IX211A.PRT 17 17 0 0 0 OK
|
||||
IX212A.PRT 24 20 4 0 0
|
||||
IX213A.PRT 21 15 6 0 0
|
||||
IX216A.PRT 15 9 5 1 0
|
||||
IX218A.PRT 6 5 1 0 0
|
||||
Total: 326 279 46 1 0 33 14 OK
|
||||
Percentages: pgms ok: 42.4242 % Tests ok: 85.5828 %
|
||||
Module : NC
|
||||
Filename Tot OK Fai Del Man
|
||||
NC101A.PRT 93 93 0 0 0 OK
|
||||
NC102A.PRT 42 40 0 2 0 OK
|
||||
NC103A.PRT 102 102 0 0 0 OK
|
||||
NC104A.PRT 141 140 1 0 0
|
||||
NC105A.PRT 132 121 8 3 0
|
||||
NC106A.PRT 126 119 7 0 0
|
||||
NC107A.PRT 177 169 3 0 5
|
||||
NC108M.PRT 14 14 0 0 0 OK
|
||||
NC111A.PRT 7 7 0 0 0 OK
|
||||
NC112A.PRT 32 32 0 0 0 OK
|
||||
NC115A.PRT 31 23 8 0 0
|
||||
NC116A.PRT 66 66 0 0 0 OK
|
||||
NC117A.PRT 40 39 1 0 0
|
||||
NC118A.PRT 29 23 6 0 0
|
||||
NC119A.PRT 36 33 3 0 0
|
||||
NC120A.PRT 39 36 3 0 0
|
||||
NC121M.PRT 41 37 2 0 2
|
||||
NC122A.PRT 24 19 5 0 0
|
||||
NC123A.PRT 34 24 10 0 0
|
||||
NC124A.PRT 169 165 4 0 0
|
||||
NC125A.PRT 110 110 0 0 0 OK
|
||||
NC126A.PRT 145 145 0 0 0 OK
|
||||
NC127A.PRT 2 2 0 0 0 OK
|
||||
NC131A.PRT 10 10 0 0 0 OK
|
||||
NC132A.PRT 25 25 0 0 0 OK
|
||||
NC133A.PRT 25 25 0 0 0 OK
|
||||
NC134A.PRT 20 20 0 0 0 OK
|
||||
NC135A.PRT 8 7 0 0 1 OK
|
||||
NC136A.PRT 8 8 0 0 0 OK
|
||||
NC137A.PRT 8 8 0 0 0 OK
|
||||
NC138A.PRT 36 36 0 0 0 OK
|
||||
NC139A.PRT 41 41 0 0 0 OK
|
||||
NC140A.PRT 70 70 0 0 0 OK
|
||||
NC141A.PRT 9 9 0 0 0 OK
|
||||
NC170A.PRT 96 93 3 0 0
|
||||
NC171A.PRT 108 107 1 0 0
|
||||
NC172A.PRT 101 101 0 0 0 OK
|
||||
NC173A.PRT 102 102 0 0 0 OK
|
||||
NC175A.PRT 97 92 5 0 0
|
||||
NC176A.PRT 124 119 5 0 0
|
||||
NC177A.PRT 108 104 4 0 0
|
||||
NC201A.PRT 59 56 3 0 0
|
||||
NC202A.PRT 77 74 3 0 0
|
||||
NC203A.PRT 58 53 5 0 0
|
||||
NC204M.PRT 15 0 15 0 0
|
||||
NC206A.PRT 53 53 0 0 0 OK
|
||||
NC208A.PRT 24 24 0 0 0 OK
|
||||
NC209A.PRT 32 27 5 0 0
|
||||
NC210A.PRT 85 85 0 0 0 OK
|
||||
NC216A.PRT 57 36 21 0 0
|
||||
NC217A.PRT 81 80 0 1 0 OK
|
||||
NC218A.PRT 125 125 0 0 0 OK
|
||||
NC220M.PRT 25 23 0 0 2 OK
|
||||
NC221A.PRT 17 13 4 0 0
|
||||
NC222A.PRT 8 6 2 0 0
|
||||
NC223A.PRT 94 42 52 0 0
|
||||
NC224A.PRT 14 10 0 4 0 OK
|
||||
NC231A.PRT 24 16 8 0 0
|
||||
NC232A.PRT 17 17 0 0 0 OK
|
||||
NC233A.PRT 14 7 7 0 0
|
||||
NC234A.PRT 17 17 0 0 0 OK
|
||||
NC236A.PRT 10 5 5 0 0
|
||||
NC239A.PRT 8 8 0 0 0 OK
|
||||
NC240A.PRT 11 11 0 0 0 OK
|
||||
NC241A.PRT 11 11 0 0 0 OK
|
||||
NC242A.PRT 12 12 0 0 0 OK
|
||||
NC243A.PRT 16 16 0 0 0 OK
|
||||
NC244A.PRT 6 6 0 0 0 OK
|
||||
NC245A.PRT 28 28 0 0 0 OK
|
||||
NC247A.PRT 20 17 2 1 0
|
||||
NC248A.PRT 11 8 3 0 0
|
||||
NC251A.PRT 60 57 3 0 0
|
||||
NC252A.PRT 75 75 0 0 0 OK
|
||||
NC253A.PRT 61 48 13 0 0
|
||||
NC254A.PRT 9 5 4 0 0
|
||||
Total: 3862 3607 234 11 10 75 40 OK
|
||||
Percentages: pgms ok: 53.3333 % Tests ok: 93.3972 %
|
||||
@@ -0,0 +1,70 @@
|
||||
#!/bin/bash -
|
||||
#
|
||||
# Copyright (C) 2001 Bernard Giroud
|
||||
#
|
||||
# This program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program 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 software; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
#
|
||||
gawk -v module=$1 '
|
||||
BEGIN {FS=" ";
|
||||
print "Module : ",module
|
||||
print " Filename "," Tot"," OK"," Fai"," Del"," Man"
|
||||
tot_tot = 0
|
||||
tot_ok = 0
|
||||
tot_failed = 0
|
||||
tot_deleted = 0
|
||||
tot_inspect = 0
|
||||
tot_pgm = 0
|
||||
tot_pgm_ok = 0
|
||||
}
|
||||
{
|
||||
if ($5 == "WERE" && $6 == "EXECUTED") {
|
||||
nr_ok = $1 + 0
|
||||
nr_tot = $3 + 0
|
||||
tot_tot = tot_tot + nr_tot
|
||||
tot_ok = tot_ok + nr_ok
|
||||
tot_pgm = tot_pgm + 1
|
||||
}
|
||||
if ($2 == "TEST(S)") {
|
||||
if ($3 == "FAILED") {
|
||||
nr_failed = $1 + 0
|
||||
if ($1 == "NO") nr_failed = 0
|
||||
tot_failed = tot_failed + nr_failed
|
||||
}
|
||||
if ($3 == "DELETED") {
|
||||
nr_deleted = $1 + 0
|
||||
if ($1 == "NO") nr_deleted = 0
|
||||
tot_deleted = tot_deleted + nr_deleted
|
||||
}
|
||||
if ($3 == "REQUIRE") {
|
||||
nr_inspect = $1 + 0
|
||||
if ($1 == "NO") nr_inspect = 0
|
||||
tot_inspect = tot_inspect + nr_inspect
|
||||
stat = " "
|
||||
if (nr_failed == 0) {
|
||||
stat = "OK"
|
||||
tot_pgm_ok = tot_pgm_ok + 1
|
||||
}
|
||||
printf "%11s %4d %4d %4d %4d %4d %s\n", FILENAME, nr_tot, nr_ok, nr_failed, nr_deleted, nr_inspect, stat
|
||||
}
|
||||
}
|
||||
}
|
||||
END {
|
||||
pc_success = (100 * tot_ok) / tot_tot
|
||||
printf "%11s %4d %4d %4d %4d %4d %4d %4d OK\n", "Total: ", tot_tot, tot_ok, tot_failed, tot_deleted, tot_inspect, tot_pgm, tot_pgm_ok
|
||||
pc_pgms_ok = (100 * tot_pgm_ok) / tot_pgm
|
||||
print " Percentages: pgms ok:", pc_pgms_ok, "% Tests ok:", pc_success, "%"
|
||||
}
|
||||
' *.PRT >../$1.rpt
|
||||
Reference in New Issue
Block a user