Commits

Ben Andre  committed 5af7ac1

tests: new make rule for standard tests, and 'standard' suite to config files

  • Participants
  • Parent commits f6278f4

Comments (0)

Files changed (14)

File regression_tests/Makefile

 	TEST_OPTIONS += --check-performance
 endif
 
-# tests that are run to verify pflotran is built correctly
-STANDARD_TESTS = \
-	ascem-geochemistry \
-	ascem-geochemistry-parallel \
-	default-flow \
-	default-transport \
-	default-geochemistry \
-	default-parallel \
-	default-discretization-umesh \
-	ngee-biogeochemistry
+ifdef BACKTRACE
+	TEST_OPTIONS += --backtrace
+endif
 
-# regression tests for developers changing pflotran
-DEV_TESTS = \
-	cu-leaching
+#
+# standard tests that are run to verify pflotran is built correctly
+#
+STANDARD_CFG = \
+	ascem/batch/batch.cfg \
+	ascem/1d/1d-calcite/1d-calcite.cfg \
+	default/543/543.cfg \
+	default/anisothermal/anisothermal.cfg \
+	default/column/column.cfg \
+	default/infiltrometer/infiltrometer.cfg \
+	default/condition/condition.cfg \
+	default/multicontinuum/multicontinuum.cfg \
+	ngee/ngee.cfg \
+	shortcourse/copper_leaching/cu_leaching.cfg
 
-check : $(STANDARD_TESTS)
+STANDARD_PARALLEL_CFG = \
+	ascem/1d/1d-calcite/1d-calcite.cfg \
+	default/543/543.cfg
 
-test : $(STANDARD_TESTS) $(DEV_TESTS)
+ifneq ($(strip $(PARMETIS_LIB)),)
+	STANDARD_CFG += \
+		default/discretization/discretization.cfg
 
-ascem-geochemistry : 
+	STANDARD_PARALLEL_CFG = \
+		default/discretization/discretization.cfg
+else
+	@echo "********************************************************"
+	@echo "  PFloTran does not appear to be compiled with Parmetis."
+	@echo "  Skipping unstructured mesh tests."
+	@echo "********************************************************"
+endif
+
+#
+# domain specific problems
+#
+GEOCHEMISTRY_CFG = \
+	ascem/1d/1d-calcite/1d-calcite.cfg \
+	ascem/batch/batch.cfg \
+	default/543/543.cfg \
+	default/anisothermal/anisothermal.cfg \
+	default/column/column.cfg \
+	default/multicontinuum/multicontinuum.cfg \
+	ngee/ngee.cfg \
+	shortcourse/1D_Calcite/calcite.cfg \
+	shortcourse/copper_leaching/cu_leaching.cfg
+
+FLOW_CFG = \
+	default/543/543.cfg \
+	default/condition/condition.cfg \
+	default/infiltrometer/infiltrometer.cfg \
+	shortcourse/1D_variably_saturated_flow/vsat_flow.cfg \
+	shortcourse/copper_leaching/cu_leaching.cfg
+
+TRANSPORT_CFG = \
+	default/543/543.cfg \
+	default/column/column.cfg \
+	default/multicontinuum/multicontinuum.cfg \
+
+MESH_CFG = \
+	default/discretization/discretization.cfg
+
+
+check : standard standard_parallel
+
+test : standard standard_parallel
+
+standard :
 	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		-r ascem --suite geochemistry 
+		 --suite standard --config-files $(STANDARD_CFG)
 
-ascem-geochemistry-parallel :
+standard_parallel :
 ifneq ($(strip $(MPIEXEC)),)
 	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		--mpiexec $(MPIEXEC) -r ascem/1d --suite parallel
+		--mpiexec $(MPIEXEC)  --suite standard_parallel \
+	--config-files $(STANDARD_PARALLEL_CFG)
 else
 	@echo "********************************************************"
 	@echo "  Could not find mpiexec."
 	@echo "********************************************************"
 endif
 
-default-discretization-umesh :
+geochemistry :
+	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
+		--config-files $(GEOCHEMISTRY_CFG) --suite geochemistry 
+
+flow :
+	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
+		--config-files $(FLOW_CFG) --suite flow
+
+transport :
+	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
+		--config-files $(TRANSPORT_CFG) --suite transport
+
+mesh :
 ifneq ($(strip $(PARMETIS_LIB)),)
 	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		-r default/discretization --suite mesh
+		--config-files $(MESH_CFG) --suite mesh
 else
 	@echo "********************************************************"
 	@echo "  PFloTran does not appear to be compiled with Parmetis."
 	@echo "********************************************************"
 endif
 
-default-flow : 
-	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		-r default --suite flow 
-
-default-transport : 
-	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		-r default --suite transport 
-
-default-geochemistry : 
-	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		-r default --suite geochemistry 
-
-default-parallel :
-ifneq ($(strip $(MPIEXEC)),)
-	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		--mpiexec $(MPIEXEC) -r default --suite parallel
-else
-	@echo "********************************************************"
-	@echo "  Could not find mpiexec."
-	@echo "  Skipping parallel tests."
-	@echo "********************************************************"
-endif
-
-cu-leaching :
-	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
-		-c shortcourse/copper_leaching/cu_leaching.cfg --test cu_leaching
-
 ngee-biogeochemistry : 
 	-$(PYTHON) $(TEST_MANAGER) -e $(PFLOTRAN) $(TEST_OPTIONS) \
 		-r ngee --suite biogeochemistry 

File regression_tests/ascem/1d/1d-calcite/1d-calcite.cfg

-[executable]
-input arg = -pflotranin
-input suffix = in
-output arg = -output_prefix
-
 [suites]
 geochemistry = 1d-calcite
 parallel = 1d-calcite-np2
+standard = 1d-calcite
+standard_parallel = 1d-calcite-np2
 
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests

File regression_tests/ascem/batch/batch.cfg

-[executable]
-# maybe just hard code this in python?
-input arg = -pflotranin
-input suffix = in
-output arg = -output_prefix
-
-# by default we will assume input file = test-name.in
-# by default we will assume output file = test-name.regression.gold (or something)
-
 [suites]
 geochemistry = carbonate-unit-activity carbonate-debye-huckel-activity
                ca-carbonate-unit-activity ca-carbonate-debye-huckel-activity
                calcite-kinetics calcite-kinetics-volume-fractions 
                general-reaction ion-exchange-valocchi surface-complexation-1
 
+standard = carbonate-unit-activity carbonate-debye-huckel-activity
+           ca-carbonate-unit-activity ca-carbonate-debye-huckel-activity
+           calcite-kinetics calcite-kinetics-volume-fractions 
+           general-reaction ion-exchange-valocchi surface-complexation-1
+
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests
 time = 50 percent

File regression_tests/default/543/543.cfg

 geochemistry = 543_hanford_srfcplx_base 543_hanford_srfcplx_param 543_hanford_srfcplx_mr
 parallel = 543_flow-np8 543_flow_and_tracer-np8 543_hanford_srfcplx_param-np8
 
+standard = 543_flow 
+           543_flow_and_tracer
+           543_hanford_srfcplx_base
+           543_hanford_srfcplx_param 
+           543_hanford_srfcplx_mr
+standard_parallel = 543_flow-np8
+                    543_flow_and_tracer-np8
+                    543_hanford_srfcplx_param-np8
+
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests
 time = 500 percent

File regression_tests/default/anisothermal/anisothermal.cfg

 [suites]
-#flow = 
-#transport =
 geochemistry = thc_1d
-#parallel =
+standard = thc_1d
+
 
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests

File regression_tests/default/column/column.cfg

 [suites]
-#flow =
 transport = tracer
 geochemistry = solute_KD ABC_general_KD ABC_microbial valocchi_ionx
-#parallel = 
+standard = tracer
+           solute_KD
+           ABC_general_KD
+           ABC_microbial
+           valocchi_ionx
 
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests

File regression_tests/default/condition/condition.cfg

 [suites]
+standard = datum_dataset 543_datum_dataset 543_timeseries
 flow = datum_dataset 543_datum_dataset 543_timeseries
 #transport =
 #geochemistry =

File regression_tests/default/discretization/discretization.cfg

 [suites]
 mesh = mixed_implicit mixed_explicit
-#flow =
-#transport =
-#geochemistry =
 parallel = mixed_implicit-np4 mixed_explicit-np4
+standard = mixed_implicit mixed_explicit
+standard_parallel = mixed_implicit-np4 mixed_explicit-np4
 
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests

File regression_tests/default/infiltrometer/infiltrometer.cfg

 [suites]
 flow = 16m
-#transport =
-#geochemistry = 
-#parallel =
+standard = 16m
 
 [default-test-criteria]
 # default criteria for all tests, can be overwritten by specific tests

File regression_tests/default/multicontinuum/multicontinuum.cfg

 [suites]
+standard = tracer_1D reaction_log10
 #flow = 
 transport = tracer_1D
 geochemistry = reaction_log10

File regression_tests/ngee/ngee.cfg

 [suites]
 #flow = 
 #transport =
+geochemistry = CLM-CN
 biogeochemistry = CLM-CN
+standard = CLM-CN
 #parallel =
 
 [default-test-criteria]

File regression_tests/regression-tests.py

     parser.add_argument('--advanced', action='store_true',
                         help="enable advanced options for developers")
 
-    parser.add_argument('-c', '--config-file', nargs=1, default=None,
+    parser.add_argument('-c', '--config-files', nargs="+", default=None,
                         help='test configuration file to use')
 
     parser.add_argument('--check-only', action='store_true', default=False,
                                 "directory.".format(base_dir))
 
     # add the explicitly listed config files
-    if options.config_file is not None:
-        for f in options.config_file:
+    if options.config_files is not None:
+        for f in options.config_files:
             if not os.path.isabs(f):
                 f = os.path.abspath(f)
             if os.path.isfile(f):

File regression_tests/shortcourse/1D_Calcite/calcite.cfg

-[executable]
-# maybe just hard code this in python?
-input arg : -pflotranin
-input suffix : in
-output arg : -output_prefix
-
-# by default we will assume input file = test-name.in
-# by default we will assume output file = test-name.regression.gold (or something)
-
 [suites]
 geochemistry = calcite_tran_only calcite_flow_and_tran calcite_vsat_flow_and_tran
 

File regression_tests/shortcourse/copper_leaching/cu_leaching.cfg

 [suites]
 flow = cu_leaching
+geochemistry = cu_leaching
+standard = cu_leaching
 
 [cu_leaching]
 timeout = 120.0