From c096bb332a7710a0618049f0e2df1800771bd3f9 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Wed, 6 Jul 2016 22:45:43 +0200 Subject: petsc: fix unit tests --- var/spack/repos/builtin/packages/petsc/package.py | 30 ++++++++++++----------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 6a7bee9788..90afdbdb90 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -149,20 +149,22 @@ class Petsc(Package): make("install") # solve Poisson equation in 2D to make sure nothing is broken: - with working_dir('src/ksp/ksp/examples/tutorials'): - cc = os.environ['CC'] if '~mpi' in self.spec else self.spec['mpi'].mpicc # NOQA: ignore=E501 - os.system('%s ex50.c -I%s -L%s -lpetsc -o ex50' % ( - cc, prefix.include, prefix.lib)) - ex50 = Executable('./ex50') - ex50('-da_grid_x', '4', '-da_grid_y', '4') - if 'superlu-dist' in spec: - ex50('-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'lu', '-pc_factor_mat_solver_package', 'superlu_dist') # NOQA: ignore=E501 - - if 'mumps' in spec: - ex50('-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'lu', '-pc_factor_mat_solver_package', 'mumps') # NOQA: ignore=E501 - - if 'hypre' in spec: - ex50('-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'hypre', '-pc_hypre_type', 'boomeramg') # NOQA: ignore=E501 + if ('mpi' in spec) and self.run_tests: + with working_dir('src/ksp/ksp/examples/tutorials'): + env['PETSC_DIR'] = self.prefix + cc = Executable(spec['mpi'].mpicc) + cc('ex50.c', '-I%s' % prefix.include, '-L%s' % prefix.lib, + '-lpetsc', '-o', 'ex50') + run = Executable(join_path(spec['mpi'].prefix.bin, 'mpirun')) + run('ex50', '-da_grid_x', '4', '-da_grid_y', '4') + if 'superlu-dist' in spec: + run('ex50', '-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'lu', '-pc_factor_mat_solver_package', 'superlu_dist') # NOQA: ignore=E501 + + if 'mumps' in spec: + run('ex50', '-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'lu', '-pc_factor_mat_solver_package', 'mumps') # NOQA: ignore=E501 + + if 'hypre' in spec: + run('ex50', '-da_grid_x', '4', '-da_grid_y', '4', '-pc_type', 'hypre', '-pc_hypre_type', 'boomeramg') # NOQA: ignore=E501 def setup_dependent_environment(self, spack_env, run_env, dependent_spec): # set up PETSC_DIR for everyone using PETSc package -- cgit v1.2.3-60-g2f50 From e482994a1505bf7b8e506872c8ac205fce68b217 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Sat, 9 Jul 2016 08:12:34 +0200 Subject: petsc: add -lm when building example --- var/spack/repos/builtin/packages/petsc/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py index 90afdbdb90..11f5c36c22 100644 --- a/var/spack/repos/builtin/packages/petsc/package.py +++ b/var/spack/repos/builtin/packages/petsc/package.py @@ -154,7 +154,7 @@ class Petsc(Package): env['PETSC_DIR'] = self.prefix cc = Executable(spec['mpi'].mpicc) cc('ex50.c', '-I%s' % prefix.include, '-L%s' % prefix.lib, - '-lpetsc', '-o', 'ex50') + '-lpetsc', '-lm', '-o', 'ex50') run = Executable(join_path(spec['mpi'].prefix.bin, 'mpirun')) run('ex50', '-da_grid_x', '4', '-da_grid_y', '4') if 'superlu-dist' in spec: -- cgit v1.2.3-60-g2f50