71 lines
2.2 KiB
Tcl
71 lines
2.2 KiB
Tcl
tcl::tm::add [file normalize [file join [file dirname [info script]] .]]
|
|
|
|
|
|
package require testme
|
|
|
|
|
|
# These tests check the MPI compiler driver mpi{c,c++,fc} functionality
|
|
|
|
testme::unit -name "MPI C compiler driver test" -tags {mpi c} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "mpicc -o a hello_mpi.c && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
testme::unit -name "MPI C++ compiler driver test" -tags {mpi c++} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "mpicxx -o a hello_mpi.cpp && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
testme::unit -name "MPI FORTRAN77 compiler driver test" -tags {mpi fortran} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "mpif77 -o a hello_mpi.F && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
testme::unit -name "MPI FORTRAN90 compiler driver test" -tags {mpi fortran} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "mpif90 -o a hello_mpi.f90 && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
# These tests check the MPI's PkgConfig module to be used as a dependency
|
|
|
|
# This fixes the issue related to the PkgConf-GFORTRAN interaction.
|
|
# Specifically, pkgconf (contrary to the original pkg-config utility) omits system
|
|
# directories (/ucrt64/include and alike) from command line options by default
|
|
# while gfortran (unlike gcc) maintains no default lookup directories and thus requires it.
|
|
set ::env(PKG_CONFIG_ALLOW_SYSTEM_CFLAGS) 1
|
|
|
|
testme::unit -name "MPI C dependency test" -tags {mpi c} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "cc -o a hello_mpi.c `pkgconf msmpi --cflags --libs` && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
testme::unit -name "MPI C++ dependency test" -tags {mpi c++} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "c++ -o a hello_mpi.cpp `pkgconf msmpi --cflags --libs` && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
testme::unit -name "MPI FORTRAN77 dependency test" -tags {mpi fortran} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "gfortran -o a hello_mpi.F `pkgconf msmpi --cflags --libs` && mpiexec -np 1 ./a"
|
|
}
|
|
}
|
|
|
|
testme::unit -name "MPI FORTRAN90 dependency test" -tags {mpi fortran} {
|
|
package require buildme
|
|
buildme::sandbox {
|
|
buildme::shell "gfortran -o a hello_mpi.f90 `pkgconf msmpi --cflags --libs` && mpiexec -np 1 ./a"
|
|
}
|
|
} |