axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] 20070907.02.tpd.patch


From: daly
Subject: [Axiom-developer] 20070907.02.tpd.patch
Date: Sun, 9 Sep 2007 10:39:46 -0500

This patch changes the regression testing to respect the NOISE variable.

During a standard 'make' the NOISE variable points to ${TMP}/noise and
puts all of the output into that file. By default, TMP is in the obj
directory (not /tmp as that is outside the build tree and axiom never
writes outside the build tree). So (myaxiom)/obj/noise holds the output
of the last command run.

Output is normally suppressed and only echo lines are printed.
Every Makefile stanza starts with a line:
    @ echo (number) what this stanza does
so it is possible to look at the failing build and look upward for the
    (number) what this stanza does 
line. The (number) is unique within the current running Makefile.
Next, look upward for the 
    make[NN] entering directory 'foo'
look at the foo/Makefile.pamphlet, search for (number). That is
the failing stanza.

By default, typing 
    make
will suppress most output, cutting the resulting output to 
about 10% of the full console log.

You can see the full console log typing
    make NOISE=
and you will see the results of the compiles and tests.

Test output is cached in int/input/*.output and the regression
result logs are cached in int/input/*.regress

Tim



==========================================================================
diff --git a/changelog b/changelog
index 4d7f421..7d3f2df 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,6 @@
+20070907 tpd src/algebra/acplot.spad fix PlaneAlgebraicCurvePlot.help NOISE
+20070907 tpd src/algebra/Makefile make regression respect NOISE variable
+20070907 tpd src/input/Makefile make regression respect NOISE variable
 20070906 tpd Makefile int/sman/axiom command to target command for install
 20070906 tpd src/sman/Makefile copy axiom command to int
 20070906 tpd merge help files branch
diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet
index ba8b53f..445aac8 100644
--- a/src/algebra/Makefile.pamphlet
+++ b/src/algebra/Makefile.pamphlet
@@ -2057,10 +2057,23 @@ single stanza:
 \begin{verbatim}
 %.regress: %.input
        @ echo algebra regression testing $*
-       @ rm -f $*.output
-       @ echo ')read $*.input' | ${TESTSYS} 
-       @ echo ')lisp (regress "$*.output")' | ${TESTSYS} \
-                | egrep -v '(Timestamp|Version)' | tee $*.regress
+       @ (cd ${MID} ; \
+         rm -f $*.output ; \
+         if [ -z "${NOISE}" ] ; then \
+           echo ')read $*.input' | ${TESTSYS} ; \
+         else \
+           echo ')read $*.input' | ${TESTSYS} >${TMP}/trace ; \
+         fi ; \
+         rm $*.input ; \
+         if [ -z "${NOISE}" ] ; then \
+           echo ')lisp (regress "$*.output")' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' | tee $*.regress ; \
+         else \
+           echo ')lisp (regress "$*.output")' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' > $*.regress ; \
+         fi ; \
+         fgrep "regression result" $*.regress )
+
 \end{verbatim}
 The input Makefile extracts {\bf algebra.regress} and then calls 
 make to process this file.
@@ -2191,10 +2204,21 @@ REGRESS=\
 
 %.regress: %.input
        @ echo algebra regression testing $*
-       @ rm -f $*.output
-       @ echo ')read $*.input' | ${TESTSYS} 
-       @ echo ')lisp (regress "$*.output")' | ${TESTSYS} \
-                | egrep -v '(Timestamp|Version)' | tee $*.regress
+       @ rm -f $*.output 
+       @ if [ -z "${NOISE}" ] ; then \
+           echo ')read $*.input' | ${TESTSYS} ; \
+         else \
+           echo ')read $*.input' | ${TESTSYS} >${TMP}/trace ; \
+         fi 
+       @ rm $*.input 
+       @ if [ -z "${NOISE}" ] ; then \
+           echo ')lisp (regress "$*.output")' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' | tee $*.regress ; \
+         else \
+           echo ')lisp (regress "$*.output")' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' > $*.regress ; \
+         fi 
+       @ fgrep "regression result" $*.regress 
 
 all: ${REGRESS}
        @echo algebra test cases complete.
diff --git a/src/algebra/acplot.spad.pamphlet b/src/algebra/acplot.spad.pamphlet
index b43e587..8a1ad4a 100644
--- a/src/algebra/acplot.spad.pamphlet
+++ b/src/algebra/acplot.spad.pamphlet
@@ -218,6 +218,10 @@ RealSolvePackage(): _
 \section{domain ACPLOT PlaneAlgebraicCurvePlot}
 <<PlaneAlgebraicCurvePlot.input>>=
 -- acplot.spad.pamphlet PlaneAlgebraicCurvePlot.input
+)spool PlaneAlgebraicCurvePlot.output
+)set message test on
+)set message auto off
+)clear all
 --S 1 of 1
 makeSketch(x+y,x,y,-1/2..1/2,-1/2..1/2)$ACPLOT
 --R   (1)                    ACPLOT
@@ -228,6 +232,8 @@ makeSketch(x+y,x,y,-1/2..1/2,-1/2..1/2)$ACPLOT
 --R                        [-0.5,0.5]
 --R                                                Type: 
PlaneAlgebraicCurvePlot
 --E 1
+)spool
+)lisp (bye)
 @
 <<PlaneAlgebraicCurvePlot.help>>=
 ====================================================================
diff --git a/src/input/Makefile.pamphlet b/src/input/Makefile.pamphlet
index 38b647a..2123928 100644
--- a/src/input/Makefile.pamphlet
+++ b/src/input/Makefile.pamphlet
@@ -383,8 +383,13 @@ identical output.
        @ echo ')set message auto off' >> tmp.input 
        @ echo ')read $*' >> tmp.input 
        @ echo ')lisp (bye)' >> tmp.input 
-       @ echo 'systemCommand "read tmp.input"' | ${TESTSYS} \
-                | egrep -v '(Timestamp|Version)' | tee $*.output 
+       @ if [ -z "${NOISE}" ] ; then \
+          echo 'systemCommand "read tmp.input"' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' | tee $*.output ; \
+         else \
+          echo 'systemCommand "read tmp.input"' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' > $*.output ; \
+         fi 
        @ rm tmp.input 
 
 @
@@ -402,14 +407,22 @@ the built-in gclweb function (see src/interp/gclweb.lisp)
 <<regression tests>>=
 %.regress: %.input
        @ echo regression testing $*
-       @ rm -f $*.output
-       @ cp ${IN}/$*.input.pamphlet ${MID}
-       @ echo ')read $*.input' | ${TESTSYS} 
-       @ rm ${MID}/$*.input.pamphlet 
-       @ rm $*.input
-       @ echo ')lisp (regress "$*.output")' | ${TESTSYS} \
-                | egrep -v '(Timestamp|Version)' | tee $*.regress
-
+       @ (cd ${MID} ; \
+         rm -f $*.output ; \
+         if [ -z "${NOISE}" ] ; then \
+           echo ')read $*.input' | ${TESTSYS} ; \
+         else \
+           echo ')read $*.input' | ${TESTSYS} >${TMP}/trace ; \
+         fi ; \
+         rm $*.input ; \
+         if [ -z "${NOISE}" ] ; then \
+           echo ')lisp (regress "$*.output")' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' | tee $*.regress ; \
+         else \
+           echo ')lisp (regress "$*.output")' | ${TESTSYS} \
+                | egrep -v '(Timestamp|Version)' > $*.regress ; \
+         fi ; \
+         fgrep "regression result" $*.regress )
 
 @
 \section{The Makefile}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]