gFTL icon indicating copy to clipboard operation
gFTL copied to clipboard

Test fail to run, complaining about missing txt files: /usr/bin/diff: actual_logical.txt: No such file or directory, etc.

Open barracuda156 opened this issue 2 years ago • 7 comments

1/18 Testing: test_derived_logical
1/18 Test: test_derived_logical
Command: "/usr/bin/diff" "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.8.1/include/v2/parameters/tests/expected_logical.txt" "actual_logical.txt"
Directory: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.8.1/include/v2/parameters/tests
"test_derived_logical" start time: Jan 22 11:05 CST
Output:
----------------------------------------------------------
/usr/bin/diff: actual_logical.txt: No such file or directory
<end of output>
Test time =   0.01 sec
----------------------------------------------------------
Test Failed.
"test_derived_logical" end time: Jan 22 11:05 CST
"test_derived_logical" time elapsed: 00:00:00

barracuda156 avatar Jan 22 '23 03:01 barracuda156

Very odd. I don't have any immediate theory as to what could generate that error. It should be produced by a relatively simple python script that preprocesses a Fortran-FPP file. Please give me the exact sequence of commands that you issued to reach this state and I will attempt to replicate.

tclune avatar Jan 23 '23 13:01 tclune

I also got the same error. These are the commands I used.

git clone [email protected]:Goddard-Fortran-Ecosystem/gFTL.git

cd gFTL
mkdir build
cd build 
cmake .. -DCMAKE_Fortran_COMPILER_ID=NVHPC
make -j
make test
ctest


ccmake .
AWK                              /usr/bin/awk
 CMAKE_BUILD_TYPE
 CMAKE_INSTALL_PREFIX             /tmp/pfunit/gFTL/build/installed
 CPP                              /usr/bin/cpp
 FILTER                           /tmp/pfunit/gFTL/build/include/v2/parameters/tests/filter.x
 GFTL_TOP_DIR                     /tmp/pfunit/gFTL/build/installed/GFTL-1.10             
 M4                               /usr/bin/m4
 PFUNIT_DIR                       PFUNIT_DIR-NOTFOUND

nvjonwong avatar Jun 08 '23 02:06 nvjonwong

@tclune Sorry, this went forgotten somehow. I will look into this again – I think the portfile is on another machine.

barracuda156 avatar Jun 15 '23 05:06 barracuda156

@tclune So, I just use CMake build system, nothing unusual. It just does not generate needed files for tests. Problem still there with 1.10.0.

make[2]: Nothing to be done for `include/v1/CMakeFiles/force-generation-of-includes.dir/build'.
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0'
[100%] Built target force-generation-of-includes
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0'
/opt/local/bin/cmake -E cmake_progress_start /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0/CMakeFiles 0
make: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0'
36-25% sudo port -v test gFTL
Warning: configured user/group macports does not exist, will build as root
--->  Computing dependencies for gFTL.
--->  Testing gFTL
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0" && ctest test 
Test project /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0
      Start  1: test_derived_logical
 1/18 Test  #1: test_derived_logical ..............***Failed    0.01 sec
      Start  2: test_derived_integer
 2/18 Test  #2: test_derived_integer ..............***Failed    0.01 sec
      Start  3: test_derived_integer32
 3/18 Test  #3: test_derived_integer32 ............***Failed    0.01 sec
      Start  4: test_derived_real
 4/18 Test  #4: test_derived_real .................***Failed    0.01 sec
      Start  5: test_derived_double
 5/18 Test  #5: test_derived_double ...............***Failed    0.01 sec
      Start  6: test_derived_complex
 6/18 Test  #6: test_derived_complex ..............***Failed    0.01 sec
      Start  7: test_derived_complex32
 7/18 Test  #7: test_derived_complex32 ............***Failed    0.01 sec
      Start  8: test_derived_double_complex
 8/18 Test  #8: test_derived_double_complex .......***Failed    0.01 sec
      Start  9: test_derived_fixed_string
 9/18 Test  #9: test_derived_fixed_string .........***Failed    0.01 sec
      Start 10: test_derived_deferred_string
10/18 Test #10: test_derived_deferred_string ......***Failed    0.01 sec
      Start 11: test_derived_unlimited
11/18 Test #11: test_derived_unlimited ............***Failed    0.01 sec
      Start 12: test_derived_integer_rank_1
12/18 Test #12: test_derived_integer_rank_1 .......***Failed    0.01 sec
      Start 13: test_derived_integer32_rank_2
13/18 Test #13: test_derived_integer32_rank_2 .....***Failed    0.01 sec
      Start 14: test_derived_integer_shape_1d
14/18 Test #14: test_derived_integer_shape_1d .....***Failed    0.01 sec
      Start 15: test_derived_integer32_shape_2d
15/18 Test #15: test_derived_integer32_shape_2d ...***Failed    0.01 sec
      Start 16: test_derived_Foo
16/18 Test #16: test_derived_Foo ..................***Failed    0.01 sec
      Start 17: test_derived_FooPoly
17/18 Test #17: test_derived_FooPoly ..............***Failed    0.01 sec
      Start 18: test_derived_kitchen_sink
18/18 Test #18: test_derived_kitchen_sink .........***Failed    0.01 sec

0% tests passed, 18 tests failed out of 18

Total Test time (real) =   0.15 sec

The following tests FAILED:
	  1 - test_derived_logical (Failed)
	  2 - test_derived_integer (Failed)
	  3 - test_derived_integer32 (Failed)
	  4 - test_derived_real (Failed)
	  5 - test_derived_double (Failed)
	  6 - test_derived_complex (Failed)
	  7 - test_derived_complex32 (Failed)
	  8 - test_derived_double_complex (Failed)
	  9 - test_derived_fixed_string (Failed)
	 10 - test_derived_deferred_string (Failed)
	 11 - test_derived_unlimited (Failed)
	 12 - test_derived_integer_rank_1 (Failed)
	 13 - test_derived_integer32_rank_2 (Failed)
	 14 - test_derived_integer_shape_1d (Failed)
	 15 - test_derived_integer32_shape_2d (Failed)
	 16 - test_derived_Foo (Failed)
	 17 - test_derived_FooPoly (Failed)
	 18 - test_derived_kitchen_sink (Failed)
Errors while running CTest

Couldn’t we just provide ready-to-use txt files for tests? After all, we do not test text processing her.

barracuda156 avatar Jul 07 '23 13:07 barracuda156

Configure stage:

--->  Extracting gFTL-1.10.0.tar.gz
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/gFTL/gFTL-1.10.0.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - 
--->  Configuring gFTL
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0" && /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles" -DCMAKE_BUILD_TYPE=MacPorts -DCMAKE_INSTALL_PREFIX="/opt/local" -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib" -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr" -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DCMAKE_OBJC_COMPILER="$CC" -DCMAKE_OBJCXX_COMPILER="$CXX" -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_MAKE_PROGRAM=/usr/bin/make -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules" -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules" -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DCMAKE_INSTALL_RPATH="/opt/local/lib" -Wno-dev -DCMAKE_OSX_ARCHITECTURES="ppc" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.6" -DCMAKE_OSX_SYSROOT="/" /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0 
-- cpp is /opt/local/bin/cpp
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - /opt/local/bin/gfortran-mp-12
-- The Fortran compiler identification is GNU 12.3.0
-- Checking whether Fortran compiler has -isysroot
-- Checking whether Fortran compiler has -isysroot - yes
-- Checking whether Fortran compiler supports OSX deployment target flag
-- Checking whether Fortran compiler supports OSX deployment target flag - yes
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /opt/local/bin/gfortran-mp-12 - skipped
-- Configuring done (4.2s)
-- Generating done (0.2s)

barracuda156 avatar Jul 07 '23 13:07 barracuda156

Well, I found the cause of the problem: neither all nor test target includes preprocessing of those files. One should dig into a Makefile and find a special build target for that, test_generated_incs -_-

Then tests pass:

--->  Testing gFTL
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0" && ctest test 
Test project /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_gFTL/gFTL/work/gFTL-1.10.0
      Start  1: test_derived_logical
 1/18 Test  #1: test_derived_logical ..............   Passed    0.01 sec
      Start  2: test_derived_integer
 2/18 Test  #2: test_derived_integer ..............   Passed    0.01 sec
      Start  3: test_derived_integer32
 3/18 Test  #3: test_derived_integer32 ............   Passed    0.01 sec
      Start  4: test_derived_real
 4/18 Test  #4: test_derived_real .................   Passed    0.00 sec
      Start  5: test_derived_double
 5/18 Test  #5: test_derived_double ...............   Passed    0.00 sec
      Start  6: test_derived_complex
 6/18 Test  #6: test_derived_complex ..............   Passed    0.01 sec
      Start  7: test_derived_complex32
 7/18 Test  #7: test_derived_complex32 ............   Passed    0.01 sec
      Start  8: test_derived_double_complex
 8/18 Test  #8: test_derived_double_complex .......   Passed    0.01 sec
      Start  9: test_derived_fixed_string
 9/18 Test  #9: test_derived_fixed_string .........   Passed    0.00 sec
      Start 10: test_derived_deferred_string
10/18 Test #10: test_derived_deferred_string ......   Passed    0.01 sec
      Start 11: test_derived_unlimited
11/18 Test #11: test_derived_unlimited ............   Passed    0.01 sec
      Start 12: test_derived_integer_rank_1
12/18 Test #12: test_derived_integer_rank_1 .......   Passed    0.01 sec
      Start 13: test_derived_integer32_rank_2
13/18 Test #13: test_derived_integer32_rank_2 .....   Passed    0.01 sec
      Start 14: test_derived_integer_shape_1d
14/18 Test #14: test_derived_integer_shape_1d .....   Passed    0.00 sec
      Start 15: test_derived_integer32_shape_2d
15/18 Test #15: test_derived_integer32_shape_2d ...   Passed    0.00 sec
      Start 16: test_derived_Foo
16/18 Test #16: test_derived_Foo ..................   Passed    0.01 sec
      Start 17: test_derived_FooPoly
17/18 Test #17: test_derived_FooPoly ..............   Passed    0.01 sec
      Start 18: test_derived_kitchen_sink
18/18 Test #18: test_derived_kitchen_sink .........   Passed    0.01 sec

100% tests passed, 0 tests failed out of 18

Total Test time (real) =   0.12 sec

barracuda156 avatar Jul 07 '23 14:07 barracuda156

I'll be on leave through next week and will not be able to dig into this until after that.

The "multi-repo" testing definitely became more fragile after I allowed other user requests for variant configurations. If you have a PR for this, all the better ...

tclune avatar Jul 07 '23 14:07 tclune