Files

77 lines
2.7 KiB
Diff

--- src/tests/CMakeLists.txt.orig 2022-05-09 10:53:57.000000000 +0700
+++ src/tests/CMakeLists.txt 2022-09-11 01:15:32.000000000 +0700
@@ -15,6 +15,10 @@
)
endif()
+if (APPLE AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc|ppc64")
+ add_compile_definitions(DARWIN_PPC)
+endif()
+
set( directory_list
utilities
integration
# Changing extension from f90 to F90 is intended. See: https://stackoverflow.com/questions/31649691/stringify-macro-with-gnu-gfortran
--- src/tests/integration/pde_solvers/coarrayHeatSimplified/CMakeLists.txt.orig 2022-05-09 10:53:57.000000000 +0700
+++ src/tests/integration/pde_solvers/coarrayHeatSimplified/CMakeLists.txt 2022-09-11 02:03:18.000000000 +0700
@@ -4,7 +4,7 @@
add_dependencies(local_field caf_mpi_static)
add_dependencies(global_field local_field caf_mpi_static)
add_executable(co_heat
- main.f90
+ main.F90
$<TARGET_OBJECTS:local_field>
$<TARGET_OBJECTS:global_field>
)
--- src/tests/integration/pde_solvers/coarrayHeatSimplified/main.F90.orig 2022-05-09 10:53:57.000000000 +0700
+++ src/tests/integration/pde_solvers/coarrayHeatSimplified/main.F90 2022-09-11 01:29:09.000000000 +0700
@@ -26,7 +26,10 @@
!
program main
+#ifndef DARWIN_PPC
use IEEE_arithmetic, only : IEEE_is_NaN
+#endif
+
use global_field_module, only : global_field
implicit none
type(global_field) :: T,laplacian_T,T_half
@@ -44,7 +47,11 @@
block
real, allocatable :: residual(:)
residual = laplacian_T%state()
+#ifdef DARWIN_PPC
+ if ( any(residual>tolerance) .or. any(isNaN(residual)) .or. any(residual<0) ) error stop "Test failed."
+#else
if ( any(residual>tolerance) .or. any(IEEE_is_NaN(residual)) .or. any(residual<0) ) error stop "Test failed."
+#endif
end block
if (this_image()==1) print *,"Test passed."
end program
--- src/tests/integration/pde_solvers/coarrayBurgers/main.F90.orig 2022-05-09 10:53:57.000000000 +0700
+++ src/tests/integration/pde_solvers/coarrayBurgers/main.F90 2022-09-11 01:28:08.000000000 +0700
@@ -1,6 +1,8 @@
program main
use iso_fortran_env, only : real64,int64,compiler_version,compiler_options
+#ifndef DARWIN_PPC
use ieee_arithmetic, only : ieee_is_nan
+#endif
use global_field_module, only : global_field,initial_condition
use ForTrilinos_assertion_utility, only : assert,error_message
implicit none
@@ -39,7 +41,11 @@
contains
subroutine test(burgers_solution)
type(global_field), intent(in) :: burgers_solution
+#ifdef DARWIN_PPC
+ call assert(.not.any(isnan(u%state())),error_message("Test failed: u is not a number."))
+#else
call assert(.not.any(ieee_is_nan(u%state())),error_message("Test failed: u is not a number."))
+#endif
call assert(sinusoid(u),error_message("Test failed: improper shape."))
end subroutine