aboutsummaryrefslogtreecommitdiff
path: root/Regression/prepare_file_travis.py
diff options
context:
space:
mode:
Diffstat (limited to 'Regression/prepare_file_travis.py')
-rw-r--r--Regression/prepare_file_travis.py39
1 files changed, 30 insertions, 9 deletions
diff --git a/Regression/prepare_file_travis.py b/Regression/prepare_file_travis.py
index 1fc7e35b1..d461f6f81 100644
--- a/Regression/prepare_file_travis.py
+++ b/Regression/prepare_file_travis.py
@@ -29,16 +29,22 @@ text = re.sub( '\[(?P<name>.*)\]\nbuildDir = ',
# Change compile options when running on GPU
if arch == 'GPU':
text = re.sub( 'addToCompileString =',
- 'addToCompileString = USE_GPU=TRUE USE_OMP=FALSE USE_ACC=TRUE', text)
+ 'addToCompileString = USE_GPU=TRUE USE_OMP=FALSE USE_ACC=TRUE ', text)
text = re.sub( 'COMP\s*=.*', 'COMP = pgi', text )
print('Compiling for %s' %arch)
+# Add runtime option: crash for unused variables
+text = re.sub('runtime_params =',
+ 'runtime_params = amrex.abort_on_unused_inputs=1 ',
+ text)
+
# Use only 2 cores for compiling
text = re.sub( 'numMakeJobs = \d+', 'numMakeJobs = 2', text )
-
# Use only 1 MPI and 1 thread proc for tests
text = re.sub( 'numprocs = \d+', 'numprocs = 2', text)
text = re.sub( 'numthreads = \d+', 'numthreads = 1', text)
+# Prevent emails from being sent
+text = re.sub( 'sendEmailWhenFail = 1', 'sendEmailWhenFail = 0', text )
# Remove Python test (does not compile)
text = re.sub( '\[Python_Langmuir\]\n(.+\n)*', '', text)
@@ -46,22 +52,37 @@ text = re.sub( '\[Python_Langmuir\]\n(.+\n)*', '', text)
# Remove Langmuir_x/y/z test (too long; not that useful)
text = re.sub( '\[Langmuir_[xyz]\]\n(.+\n)*', '', text)
-# Remove tests that do not have the right dimension
+# Select the tests to be run
+# --------------------------
+
+# - Extract test blocks (they are identified by the fact that they contain "inputFile")
+select_test_regex = r'(\[(.+\n)*inputFile(.+\n)*)'
+test_blocks = [ match[0] for match in re.findall(select_test_regex, text) ]
+# - Remove the test blocks from `text` (only the selected ones will be added back)
+text = re.sub( select_test_regex, '', text )
+
+# Keep tests that have the right dimension
if dim is not None:
print('Selecting tests with dim = %s' %dim)
- text = re.sub('\[.+\n(.+\n)*dim = [^%s]\n(.+\n)*' %dim, '', text)
+ # Cartesian tests
+ if dim in ['2', '3']:
+ test_blocks = [ block for block in test_blocks \
+ if ('dim = %s'%dim in block) and not ('USE_RZ' in block) ]
+ elif dim == 'RZ':
+ test_blocks = [ block for block in test_blocks if 'USE_RZ' in block ]
+ else:
+ raise ValueError('Unkown dimension: %s' %dim)
# Remove or keep QED tests according to 'qed' variable
if qed is not None:
print('Selecting tests with QED = %s' %qed)
if (qed == "FALSE"):
- text = re.sub('\[qed.+\n(.+\n)*\n*', '', text)
+ test_blocks = [ block for block in test_blocks if not 'QED=TRUE' in block ]
else:
- text = re.sub('^\[(?!qed).*$\n(.+\n)*(dim = .+\n)(.+\n)*\n*', '', text, flags=re.MULTILINE)
-
+ test_blocks = [ block for block in test_blocks if 'QED=TRUE' in block ]
-# Prevent emails from being sent
-text = re.sub( 'sendEmailWhenFail = 1', 'sendEmailWhenFail = 0', text )
+# - Add the selected test blocks to the text
+text = text + '\n' + '\n'.join(test_blocks)
with open('travis-tests.ini', 'w') as f:
f.write(text)