[m-rev.] for review: minimizing grades for sensitive tests

Zoltan Somogyi zs at cs.mu.OZ.AU
Tue Sep 17 14:12:42 AEST 2002


tests/debugger/Mmakefile:
	Minimize the number of grades in which we run tests that are sensitive
	to nitpicky details, to reduce the number of .exp files we have to
	maintain.

Zoltan.

cvs diff: Diffing .
cvs diff: Diffing bench
cvs diff: Diffing bench/progs
cvs diff: Diffing bench/progs/compress
cvs diff: Diffing bench/progs/icfp2000
cvs diff: Diffing bench/progs/icfp2001
cvs diff: Diffing bench/progs/nuc
cvs diff: Diffing bench/progs/ray
cvs diff: Diffing bench/progs/tree234
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/aditi
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/stream
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing java
cvs diff: Diffing java/library
cvs diff: Diffing java/runtime
cvs diff: Diffing library
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
cvs diff: Diffing tests
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
Index: tests/debugger/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/Mmakefile,v
retrieving revision 1.87
diff -u -b -r1.87 Mmakefile
--- tests/debugger/Mmakefile	16 Sep 2002 00:28:51 -0000	1.87
+++ tests/debugger/Mmakefile	16 Sep 2002 12:56:25 -0000
@@ -18,7 +18,6 @@
 	breakpoints			\
 	browse_pretty			\
 	cmd_quote			\
-	completion			\
 	debugger_regs			\
 	exception_cmd			\
 	exception_value			\
@@ -31,7 +30,6 @@
 	loopcheck			\
 	lval_desc_array			\
 	multi_parameter			\
-	nondet_stack			\
 	polymorphic_output		\
 	print_goal			\
 	queens_rep			\
@@ -41,9 +39,16 @@
 # This test is currently not useful.
 #	output_term_dep
 
+SENSITIVE_PROGS = \
+	completion			\
+	nondet_stack
+
 SHALLOW_PROGS = \
 	shallow
 
+INTERACTIVE_PROGS = \
+	interactive
+
 # Since the `interactive' test case requires the use of shared libraries,
 # this means it won't work properly if the static libraries are linked
 # (as is done by tools/bootcheck and tools/lmc).
@@ -57,32 +62,62 @@
 # ../Mmake.common here,
 
 ifneq ($(origin WORKSPACE),undefined)
-LINK_STATIC = yes
+    LINK_STATIC = yes
 endif
 ifeq ($(origin LINK_STATIC),undefined)
-LINK_STATIC = no
+    LINK_STATIC = no
+endif
+
+ifneq ($(LINK_STATIC),no)
+    INTERACTIVE_PROGS :=
+endif
+
+# Declarative debugging grades don't support trace level shallow,
+# so we execute the tests exercising shallow tracing only in grades
+# other than .decldebug grades.
+ifneq "$(findstring decldebug,$(GRADE))" ""
+    SHALLOW_PROGS :=
+endif
+
+# The sensitive tests are so named because they are sensitive to details
+# of code generation. We therefore execute them only in a minimal set of
+# grades that still ensures good test coverage. For example, the tests
+# in trailing grades without debugging do not test anything that the tests in
+# .debug.tr grades do not.
+
+ifneq "$(findstring prof,$(GRADE))" ""
+    SENSITIVE_PROGS :=
 endif
-ifeq ($(LINK_STATIC),no)
-	RETRY_PROGS := $(RETRY_PROGS) interactive
+ifneq "$(findstring memprof,$(GRADE))" ""
+    SENSITIVE_PROGS :=
 endif
+ifeq "$(findstring debug,$(GRADE))" ""
+    ifneq "$(findstring tr,$(GRADE))" ""
+	SENSITIVE_PROGS :=
+    endif
+endif
+
+ALL_RETRY_PROGS = $(RETRY_PROGS) $(INTERACTIVE_PROGS)
+ALL_NONRETRY_PROGS = $(NON_RETRY_PROGS) $(SENSITIVE_PROGS) $(SHALLOW_PROGS)
 
 # Debugging doesn't yet don't work in MLDS grades (hl*), and the retry command
 # doesn't and will not work in deep profiling grades (profdeep).
 # Also base grades `jump' and `fast' cannot be used with
 # stack layouts (which are required for tracing).
 
-ifneq "$(findstring hl,$(GRADE))" ""
-    PROGS=
-else
-    ifneq "$(findstring profdeep,$(GRADE))" ""
-	# Eventually, this should be DEBUGGER_PROGS=$(NONRETRY_PROGS).
+ifneq "$(findstring profdeep,$(GRADE))" ""
+    # Eventually, this should be DEBUGGER_PROGS=$(ALL_NONRETRY_PROGS).
 	# However, the code that is required to switch off the profiling
 	# primitives in Mercury code invoked by the debugger (e.g. for
 	# browsing) has not yet been implemented.
     	DEBUGGER_PROGS=
-    else
-    	DEBUGGER_PROGS=$(NONRETRY_PROGS) $(RETRY_PROGS)
-    endif
+else
+    DEBUGGER_PROGS=$(ALL_NONRETRY_PROGS) $(ALL_RETRY_PROGS)
+endif
+
+ifneq "$(findstring hl,$(GRADE))" ""
+    PROGS=
+else
     ifneq "$(findstring asm_,$(GRADE))" ""
         PROGS=$(DEBUGGER_PROGS)
     else
@@ -95,13 +130,6 @@
                 PROGS=$(DEBUGGER_PROGS)
             endif
         endif
-    endif
-
-    # Declarative debugging grades don't support trace level shallow,
-    # so we execute the tests exercising shallow tracing only in grades
-    # other than .decldebug grades.
-    ifeq "$(findstring decldebug,$(GRADE))" ""
-        PROGS := $(PROGS) $(SHALLOW_PROGS)
     endif
 endif
 
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list