fortran-lang / stdlib

Fortran Standard Library
https://stdlib.fortran-lang.org
MIT License
1.02k stars 161 forks source link

Building and testing stdlib on WSL1 with two fails #819

Closed nsh-envs closed 1 month ago

nsh-envs commented 1 month ago

Description

cmake version 3.22.1 ctest version 3.22.1 fypp version 3.2 gfortran version 11.4.0 gmake 4.3

Building the stdlib with no additional settings. When running "cmake -B build" and "cmake --build build" I succesfully build the library.

Then when testing with "ctest --test-dir build/test" I get errors for "mean" and "string_to_number".

Expected Behaviour

No errors when testing.

Version of stdlib

42182b080d232fb0704ae1578a9235fe3cf57ef7

Platform and Architecture

WSL1, Windows 11 enterprise

Additional Information

OUTPUT when rerunning failed: usr@host:~/Documents/Fortran/stdlib$ ctest --test-dir build/test --rerun-failed --output-on-failure Internal ctest changing into directory: /home/niels/Documents/Fortran/stdlib/build/test Test project /home/niels/Documents/Fortran/stdlib/build/test Start 35: mean 1/2 Test #35: mean .............................***Failed 0.02 sec

Testing: stats_mean

Starting test_stats_mean_all_int8 ... (1/73) ... test_stats_mean_all_int8 [PASSED] Starting test_stats_mean_all_int8 ... (2/73) ... test_stats_mean_all_int8 [PASSED] Starting test_stats_mean_all_optmask_int8 ... (3/73) ... test_stats_mean_all_optmask_int8 [PASSED] Starting test_stats_mean_int8 ... (4/73) ... test_stats_mean_int8 [PASSED] Starting test_stats_mean_optmask_int8 ... (5/73) ... test_stats_mean_optmask_int8 [PASSED] Starting test_stats_mean_mask_all_int8 ... (6/73) ... test_stats_mean_mask_all_int8 [PASSED] Starting test_stats_mean_mask_int8 ... (7/73) ... test_stats_mean_mask_int8 [PASSED] Starting test_stats_mean_all_int16 ... (8/73) ... test_stats_mean_all_int16 [PASSED] Starting test_stats_mean_all_optmask_int16 ... (9/73) ... test_stats_mean_all_optmask_int16 [PASSED] Starting test_stats_mean_int16 ... (10/73) ... test_stats_mean_int16 [PASSED] Starting test_stats_mean_optmask_int16 ... (11/73) ... test_stats_mean_optmask_int16 [PASSED] Starting test_stats_mean_mask_all_int16 ... (12/73) ... test_stats_mean_mask_all_int16 [PASSED] Starting test_stats_mean_mask_int16 ... (13/73) ... test_stats_mean_mask_int16 [PASSED] Starting test_stats_mean_all_int32 ... (14/73) ... test_stats_mean_all_int32 [PASSED] Starting test_stats_mean_all_optmask_int32 ... (15/73) ... test_stats_mean_all_optmask_int32 [PASSED] Starting test_stats_mean_int32 ... (16/73) ... test_stats_mean_int32 [PASSED] Starting test_stats_mean_optmask_int32 ... (17/73) ... test_stats_mean_optmask_int32 [PASSED] Starting test_stats_mean_mask_all_int32 ... (18/73) ... test_stats_mean_mask_all_int32 [PASSED] Starting test_stats_mean_mask_int32 ... (19/73) ... test_stats_mean_mask_int32 [PASSED] Starting test_stats_mean_all_int64 ... (20/73) ... test_stats_mean_all_int64 [PASSED] Starting test_stats_mean_all_optmask_int64 ... (21/73) ... test_stats_mean_all_optmask_int64 [PASSED] Starting test_stats_mean_int64 ... (22/73) ... test_stats_mean_int64 [PASSED] Starting test_stats_mean_optmask_int64 ... (23/73) ... test_stats_mean_optmask_int64 [PASSED] Starting test_stats_mean_mask_all_int64 ... (24/73) ... test_stats_mean_mask_all_int64 [PASSED] Starting test_stats_mean_mask_int64 ... (25/73) ... test_stats_mean_mask_int64 [PASSED] Starting test_stats_mean_all_sp ... (26/73) ... test_stats_mean_all_sp [PASSED] Starting test_stats_mean_all_optmask_sp ... (27/73) ... test_stats_mean_all_optmask_sp [PASSED] Starting test_stats_mean_sp ... (28/73) ... test_stats_mean_sp [PASSED] Starting test_stats_mean_optmask_sp ... (29/73) ... test_stats_mean_optmask_sp [PASSED] Starting test_stats_mean_mask_all_sp ... (30/73) ... test_stats_mean_mask_all_sp [PASSED] Starting test_stats_mean_mask_sp ... (31/73) ... test_stats_mean_mask_sp [PASSED] Starting test_stats_mean_all_dp ... (32/73) ... test_stats_mean_all_dp [PASSED] Starting test_stats_mean_all_optmask_dp ... (33/73) ... test_stats_mean_all_optmask_dp [PASSED] Starting test_stats_mean_dp ... (34/73) ... test_stats_mean_dp [PASSED] Starting test_stats_mean_optmask_dp ... (35/73) ... test_stats_mean_optmask_dp [PASSED] Starting test_stats_mean_mask_all_dp ... (36/73) ... test_stats_mean_mask_all_dp [PASSED] Starting test_stats_mean_mask_dp ... (37/73) ... test_stats_mean_mask_dp [PASSED] Starting test_stats_mean_all_xdp ... (38/73) ... test_stats_mean_all_xdp [PASSED] Starting test_stats_mean_all_optmask_xdp ... (39/73) ... test_stats_mean_all_optmask_xdp [PASSED] Starting test_stats_mean_xdp ... (40/73) ... test_stats_mean_xdp [PASSED] Starting test_stats_mean_optmask_xdp ... (41/73) ... test_stats_mean_optmask_xdp [PASSED] Starting test_stats_mean_mask_all_xdp ... (42/73) ... test_stats_mean_mask_all_xdp [FAILED] Message: mean(d1_xdp, d1_xdp > 0): uncorrect answer Starting test_stats_mean_mask_xdp ... (43/73) ... test_stats_mean_mask_xdp [FAILED] Message: mean(d1_xdp, 1, d1_xdp > 0): uncorrect answer Starting test_stats_mean_all_qp ... (44/73) ... test_stats_mean_all_qp [PASSED] Starting test_stats_mean_all_optmask_qp ... (45/73) ... test_stats_mean_all_optmask_qp [PASSED] Starting test_stats_mean_qp ... (46/73) ... test_stats_mean_qp [PASSED] Starting test_stats_mean_optmask_qp ... (47/73) ... test_stats_mean_optmask_qp [PASSED] Starting test_stats_mean_mask_all_qp ... (48/73) ... test_stats_mean_mask_all_qp [PASSED] Starting test_stats_mean_mask_qp ... (49/73) ... test_stats_mean_mask_qp [PASSED] Starting test_stats_mean_all_csp ... (50/73) ... test_stats_mean_all_csp [PASSED] Starting test_stats_mean_all_optmask_csp ... (51/73) ... test_stats_mean_all_optmask_csp [PASSED] Starting test_stats_mean_csp ... (52/73) ... test_stats_mean_csp [PASSED] Starting test_stats_mean_optmask_csp ... (53/73) ... test_stats_mean_optmask_csp [PASSED] Starting test_stats_mean_mask_all_csp ... (54/73) ... test_stats_mean_mask_all_csp [PASSED] Starting test_stats_mean_mask_csp ... (55/73) ... test_stats_mean_mask_csp [PASSED] Starting test_stats_mean_all_cdp ... (56/73) ... test_stats_mean_all_cdp [PASSED] Starting test_stats_mean_all_optmask_cdp ... (57/73) ... test_stats_mean_all_optmask_cdp [PASSED] Starting test_stats_mean_cdp ... (58/73) ... test_stats_mean_cdp [PASSED] Starting test_stats_mean_optmask_cdp ... (59/73) ... test_stats_mean_optmask_cdp [PASSED] Starting test_stats_mean_mask_all_cdp ... (60/73) ... test_stats_mean_mask_all_cdp [PASSED] Starting test_stats_mean_mask_cdp ... (61/73) ... test_stats_mean_mask_cdp [PASSED] Starting test_stats_mean_all_cxdp ... (62/73) ... test_stats_mean_all_cxdp [PASSED] Starting test_stats_mean_all_optmask_cxdp ... (63/73) ... test_stats_mean_all_optmask_cxdp [PASSED] Starting test_stats_mean_cxdp ... (64/73) ... test_stats_mean_cxdp [PASSED] Starting test_stats_mean_optmask_cxdp ... (65/73) ... test_stats_mean_optmask_cxdp [PASSED] Starting test_stats_mean_mask_all_cxdp ... (66/73) ... test_stats_mean_mask_all_cxdp [PASSED] Starting test_stats_mean_mask_cxdp ... (67/73) ... test_stats_mean_mask_cxdp [PASSED] Starting test_stats_mean_all_cqp ... (68/73) ... test_stats_mean_all_cqp [PASSED] Starting test_stats_mean_all_optmask_cqp ... (69/73) ... test_stats_mean_all_optmask_cqp [PASSED] Starting test_stats_mean_cqp ... (70/73) ... test_stats_mean_cqp [PASSED] Starting test_stats_mean_optmask_cqp ... (71/73) ... test_stats_mean_optmask_cqp [PASSED] Starting test_stats_mean_mask_all_cqp ... (72/73) ... test_stats_mean_mask_all_cqp [PASSED] Starting test_stats_mean_mask_cqp ... (73/73) ... test_stats_mean_mask_cqp [PASSED] 2 test(s) failed! ERROR STOP

Error termination. Backtrace:

0 0x7fefcd983960 in ???

1 0x7fefcd9844d9 in ???

2 0x7fefcd985b47 in ???

3 0x7fefcdced7d9 in tester

    at /home/niels/Documents/Fortran/stdlib/build/test/stats/test_mean.f90:3016

4 0x7fefcdc9644e in main

    at /home/niels/Documents/Fortran/stdlib/build/test/stats/test_mean.f90:2996

Start 52: string_to_number

2/2 Test #52: string_to_number .................***Failed 0.02 sec

Testing: string_to_number

Starting to_sp ... (1/4) ... to_sp [PASSED] Starting to_dp ... (2/4) ... to_dp [PASSED] Starting to_qp ... (3/4) ... to_qp [PASSED] Starting to_xdp ... (4/4) formatted read : 0.123399999999999999998 to_num : 0.123399999999999995803 difference abs : -0.419450715480329527907E-17 difference rel : -0.339911438800915343519E-14% ... to_xdp [FAILED] Message: Condition not fullfilled 1 test(s) failed! Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_UNDERFLOW_FLAG IEEE_DENORMAL ERROR STOP

Error termination. Backtrace:

0 0x7f481cdd3960 in ???

1 0x7f481cdd44d9 in ???

2 0x7f481cdd5b47 in ???

3 0x7f481d0e7629 in tester

    at /home/niels/Documents/Fortran/stdlib/build/test/string/test_string_to_number.f90:439

4 0x7f481d0e537e in main

    at /home/niels/Documents/Fortran/stdlib/build/test/string/test_string_to_number.f90:419

0% tests passed, 2 tests failed out of 2

Total Test time (real) = 0.08 sec

The following tests FAILED: 35 - mean (Failed) 52 - string_to_number (Failed) Errors while running CTest

perazz commented 1 month ago

All the failing tests seem to involve 80-bit xdp precision. I have no idea why that may be. Maybe @jalvesz has experience with running stdlib with WSL?

jalvesz commented 1 month ago

I'll try checking this out soon

perazz commented 1 month ago

@jalvesz our Windows CI builds do not support xdp, I wonder if there was a reason that was left out?

jalvesz commented 1 month ago

I do not know why there is no CI for xdp, I'm opening a PR fixing a fypp misuse issue which seems to fix the problem and included in the fpm ci the flags to include xdp and qp to have at least one test with all kinds.

jvdp1 commented 1 month ago

If I remember well, xdp was introduced after the development of the CI. So it is probably the reason.

Le sam. 18 mai 2024 à 09:20, jalvesz @.***> a écrit :

I do not know why there is no CI for xdp, I'm opening a PR fixing a fypp misuse issue which seems to fix the problem and included in the fpm ci the flags to include xdp and qp to have at least one test with all kinds.

— Reply to this email directly, view it on GitHub https://github.com/fortran-lang/stdlib/issues/819#issuecomment-2118674837, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD5RO7F6F5SLU4ARAHUTV7DZC36LBAVCNFSM6AAAAABH264UYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJYGY3TIOBTG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>