Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make check failing on FreeBSD / 1.0.0-rc2 #764

Closed
thierry-FreeBSD opened this issue May 20, 2020 · 9 comments
Closed

Make check failing on FreeBSD / 1.0.0-rc2 #764

thierry-FreeBSD opened this issue May 20, 2020 · 9 comments

Comments

@thierry-FreeBSD
Copy link
Member

(Following #761 )

On FreeBSD, `make check` produces 5 errors:

% TEST_FILE_TEST_UNIX: Error on operation : This special file /dev/urandom is a Char (crw-rw-rw-) !
% TEST_FILE_TEST_UNIX: Error on operation : This special file /dev/urandom is not a symlink !
% TEST_FILE_TEST_UNIX: We don't know a special Block file on your OS
% TEST_FILE_TEST_UNIX: Please contribute !! FixMe

----------------------------------------------------------

% TEST_FIX_NAN_INF: Error on operation : pb with type : ULONG64
exp :                     0                     0                    10 18446744073709551606   9223372036854775808   9223372036854775808 0   9223372036854775808
res :                     0                     0                    10 18446744073709551606                     0                     0 0   9223372036854775808

----------------------------------------------------------
% Compiled module: TEST_MEMORY.
% TEST_MEMORY: reported memory consumption should increase after allocating a big array!
<end of output>
Test time =   0.16 sec
----------------------------------------------------------
Test Failed.
"test_memory.pro" end time: May 20 19:06 CEST
"test_memory.pro" time elapsed: 00:00:00
----------------------------------------------------------

% Compiled module: TEST_SIMPLEX.
glp_load_matrix: ja[1] = 1072693248; column index out of range
Error detected in file api/prob1.c at line 1009
TEST EXITED FROM SIGNAL 6
<end of output>
Test time =   0.15 sec
----------------------------------------------------------

% Compiled module: TEST_WAIT.
Currently tested DELAY :      0.100000
      0.10011983
      0.10435081
      0.10206795
Currently tested DELAY :      0.250000
      0.25137305
      0.25358701
      0.25043893
Currently tested DELAY :      0.500000
      0.50080800
      0.50123906
      0.50412202
Currently tested DELAY :       1.00000
       1.0094399
       1.0010328
       1.0095401
% TEST_WAIT: Tolerance Time error was exceed  2 times.
<end of output>
Test time =   5.71 sec
----------------------------------------------------------

@thierry-FreeBSD
Copy link
Member Author

The first one is easy to fix:
/dev/urandom is just a link to /dev/random.

@alaingdl
Copy link
Contributor

Hi @thierry-FreeBSD Unfortunately I don't have access to a *BSD machine :(
Could you please send the output of two commands to help me to manage those issues :

print, !version
print, BENCHMARK_INFO_OS()

(this function is in testsuite/benchmark/)

I am quite surprise by the problem with _TEST_SIMPLEX _ because I corrected recently a related bug
and had no more problem around :(

Thanks
A.

@thierry-FreeBSD
Copy link
Member Author

Hello!
BENCHMARK_INFO_OS is not found:

GDL> print, !version
{ amd64 FreeBSD unix FreeBSD 8.2 May 20 2020      64      64}
GDL> print, BENCHMARK_INFO_OS()
% Function not found: BENCHMARK_INFO_OS
% Execution halted at: $MAIN$   

The output "FreeBSD 8.2" is strange, because on this machine I'm running FreeBSD 12.1-STABLE.

@slayoo
Copy link
Member

slayoo commented May 21, 2020

For the record, let's note that on Travis (our automatic builds on Linux and OSX), the following tests are disabled as of now due to failures:

  • test_bytscl.pro
  • test_dicom.pro
  • test_container.pro
  • test_fft_leak.pro
  • test_file_delete.pro
  • test_file_search.pro
  • test_file_test.pro
  • test_fix.pro
  • test_formats.pro
  • test_image_statistics.pro
  • test_make_dll.pro
  • test_n_tags.pro
  • test_obj_isa.pro
  • test_obj_new.pro
  • test_resolve_routine.pro
  • test_rounding.pro
  • test_step.pro
  • test_wait.pro

(https://github.com/gnudatalanguage/gdl/blob/master/.travis.yml#L273)

It's quite amazing to see that FEW failures on FreeBSD!

@alaingdl
Copy link
Contributor

Thanks. In fact !version is a structure (HELP,/struct, !version) and 8.2 is the fake release number we attributed to GDL. Ok I know the output of

uname(&uts);
ver->NewTag("ARCH", new DStringGDL( uts.machine));
const char *SysName=uts.sysname;

in initsysvar.cpp then we can improve the test (test_file_test.pro)

Concerning BENCHMARK_INFO_OS() it is just testsuite/ +subdirs are not in the path or you don't start GDL with the script sh ../quick_start_GDL.sh Not a problem.

@GillesDuvert
Copy link
Contributor

Actually most of these tests pass on my machine, and I'm not even sure all our tests would pass with IDL itself.
If not passing a test is a reason why a GDL distro is stuck at an earlier development state, this is annoying. Most of these tests, when they fail, point to a defect in reproducing IDL idiosyncrasies in a very secific case and do not endanger the general use of GDL. Example: somebody adds a 1 second wait in a loop over a series of plots, he/she does not mind about the wait not being exactly 1.0000 seconds. Small differences in the formatting of outputs are in general inocuous, etc.
Would it be possible to put tests in two categories/directories, one where the test need to pass, the other where the test may not pass (unless it fails on a segfault, which is I believe always a severe error)?

@thierry-FreeBSD
Copy link
Member Author

With v1.0.0-rc.3, all tests from test_suite.pro pass on FreeBSD!

There are only 2 warnings:

% Compiled module: FOR_TEST.
% Warning: Empty REPEAT UNTIL loop detected.
% Warning: Empty REPEAT UNTIL loop detected.

@thierry-FreeBSD
Copy link
Member Author

Closed by error with the previous message:

I just wanted to add that `make check' pass too, excepted test_memory.pro:

99% tests passed, 1 tests failed out of 215

Total Test time (real) =  88.52 sec

The following tests FAILED:
        135 - test_memory.pro (Failed)

and its output is:

----------------------------------------------------------

135/215 Testing: test_memory.pro
135/215 Test: test_memory.pro
Command: "/usr/ports/science/gnudatalanguage/work/.build/testsuite/launchtest" "test_memory.pro"
Directory: /usr/ports/science/gnudatalanguage/work/.build/testsuite
"test_memory.pro" start time: Jun 19 23:14 CEST
Output:
----------------------------------------------------------
% Compiled module: TEST_MEMORY.
% TEST_MEMORY: reported memory consumption should increase after allocating a big array!
<end of output>
Test time =   0.15 sec
----------------------------------------------------------
Test Failed.
"test_memory.pro" end time: Jun 19 23:14 CEST
"test_memory.pro" time elapsed: 00:00:00
----------------------------------------------------------

@slayoo
Copy link
Member

slayoo commented Jun 19, 2020

Thanks for feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants