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

Add Windows CI #61

Merged
merged 5 commits into from
Jan 2, 2020
Merged

Add Windows CI #61

merged 5 commits into from
Jan 2, 2020

Conversation

certik
Copy link
Member

@certik certik commented Dec 31, 2019

I am trying to troubleshoot #58.

scivision and others added 3 commits December 31, 2019 12:06
It can be advantageous to have distinct workflows on a per-operating system basis,
to quickly see the scope of a failure
@certik
Copy link
Member Author

certik commented Dec 31, 2019

Here is the failure:

2/3 Testing: load_text
2/3 Test: load_text
Command: "D:/a/stdlib/stdlib/build/src/tests/loadtxt/test_loadtxt.exe" "D:/a/stdlib/stdlib/build/src/tests/loadtxt"
Directory: D:/a/stdlib/stdlib/src/tests/loadtxt
"load_text" start time: Dec 31 23:46 Coordinated Universal Time
Output:
----------------------------------------------------------
 Array, shape=(           4 ,           2 )
   1.00000000       2.00000000    
   3.00000000       4.00000000    
   5.00000000       6.00000000    
   7.00000000       8.00000000    
 Array, shape=(           4 ,           2 )
   1.0000000000000000        2.0000000000000000     
   3.0000000000000000        4.0000000000000000     
   5.0000000000000000        6.0000000000000000     
   7.0000000000000000        8.0000000000000000     
 Array, shape=(           4 ,           3 )
   1.0000000000000000        2.0000000000000000        9.0000000000000000     
   3.0000000000000000        4.0000000000000000        10.000000000000000     
   5.0000000000000000        6.0000000000000000        11.000000000000000     
   7.0000000000000000        8.0000000000000000        12.000000000000000     
 Array, shape=(          16 ,           2 )
   1.0000000000000000E-008   91.999987593924899     
   1.0241132548855634E-008   91.999987314749688     
   1.0482337218958209E-008   91.999987035877282     
   1.0723614031878819E-008   91.999986757297677     
   1.0964963009194818E-008   91.999986479001350     
   1.1206384172490366E-008   91.999986200979166     
   1.1447877543355709E-008   91.999985923222511     
   1.1689443143387538E-008   91.999985645723044     
   1.1931080994189523E-008   91.999985368472906     
   1.2172791117370886E-008   91.999985091464495     
   1.2414573534548370E-008   91.999984814690578     
   1.2656428267344438E-008   91.999984538144247     
   1.2898355337388186E-008   91.999984261818796     
   1.3140354766315149E-008   91.999983985707871     
   1.3382426575767665E-008   91.999983709805363     
   1.3624570787394342E-008   91.999983434105332     
 Array, shape=(           3 ,          10 )
   1.5636717312299885E-010   4.5156817177622978E-007   4.9656862178073029E-006   5.0106866678118064E-005   5.0151867128122533E-004   5.0176362928751987E-003   5.5848764877645951E-002  0.32618374746711520        1.7639051761733842        9.4101331514118236     
   8.2348196112966627E-010   4.5823931965629650E-007   5.0323976966079676E-006   5.0773981466124731E-005   5.0818981916129179E-004   5.0928786314535686E-003   5.6248925898183838E-002  0.32831192218075922        1.7752234390209392        9.4703270222745211     
   2.0220116378489263E-009   4.7022461642348905E-007   5.1522506642798948E-006   5.1972511142843962E-005   5.2017511592848458E-004   5.2280580298917183E-003   5.6967849938248938E-002  0.33213537295325257        1.7955576815764616        9.5784705410250410     

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0xffffffff
#1  0xffffffff
#2  0xffffffff
#3  0xffffffff
#4  0xffffffff
#5  0xffffffff
#6  0xffffffff
#7  0xffffffff
<end of output>
Test time =   0.02 sec
----------------------------------------------------------
Test Failed.
"load_text" end time: Dec 31 23:46 Coordinated Universal Time
"load_text" time elapsed: 00:00:00
----------------------------------------------------------

That's weird, it looks like some compiler bug.

@certik certik mentioned this pull request Dec 31, 2019
@certik
Copy link
Member Author

certik commented Jan 2, 2020

@scivision now all the tests pass! I disabled qp for now.

if: failure()
with:
name: WindowsCMakeTestlog
path: build/Testing/Temporary/LastTest.log
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nit: a final new line would be good here. But this is a triviality so ¯_(ツ)_/¯

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 6b4d861. My vim adds it automatically, but I haven't touched this file.

Copy link
Member

@zbeekman zbeekman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Deleted duplicate comment]

Copy link
Member

@zbeekman zbeekman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

A question to consider: When do we want to split out separate workflows vs use a test matrix approach? There is a bit of duplicate code in the Windows CI and I think that it could be integrated into the main CI workflow.

@certik
Copy link
Member Author

certik commented Jan 2, 2020

Given that the quadruple precision is buggy on Windows, probably the best way forward is to split the tests into a single/double file, and a quadruple file. The quadruple file test would be skipped on Windows.

@certik
Copy link
Member Author

certik commented Jan 2, 2020

@zbeekman do you want to merge this first, so that you can work on consolidating the CI into one file? And I can work on getting quadruple working again at least on Linux and macOS?

@zbeekman
Copy link
Member

zbeekman commented Jan 2, 2020

@zbeekman do you want to merge this first, so that you can work on consolidating the CI into one file?

Sure that sounds good! Mind if I also rebase and merge #64?

@certik
Copy link
Member Author

certik commented Jan 2, 2020

No, that's why we should all allow "edits by maintainers" in our PRs.

Yes, if you can figure out how to consolidate the Windows test into the same matrix, I think this would be the best.

@certik
Copy link
Member Author

certik commented Jan 2, 2020

@zbeekman go ahead and merge this when you are ready.

@zbeekman
Copy link
Member

zbeekman commented Jan 2, 2020

No, that's why we should all allow "edits by maintainers" in our PRs.

I think we're mis-communicating again, sorry, probably my fault. I'll merge this now.

@zbeekman zbeekman merged commit 6b4d861 into fortran-lang:master Jan 2, 2020
@certik
Copy link
Member Author

certik commented Jan 2, 2020

(My "No" meant "No, I don't mind", as a reply to yours "Mind if I also rebase and merge #64?".)

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

Successfully merging this pull request may close these issues.

3 participants