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

Win32 build #520

Merged
merged 25 commits into from
May 2, 2019
Merged

Win32 build #520

merged 25 commits into from
May 2, 2019

Conversation

maynardGK
Copy link
Contributor

@maynardGK maynardGK commented Nov 18, 2018

This PR collects results from #512 and #514 in the first few commits.
Then, a few tests are adapted for differences in operating systems.
In file.cpp, File_search routines used in Win32 case (glob is not available) is tweaked, passing test_file_search.
Lastly,
widget initialization routine wxInitialize() is called during gdl initialization, however for darwin
systems it is not called at all, as this seems to make these GDL sick (travis builds xxx.5, xxx.10)!
To test this on an OSX computer, the routine dialog_pickfile will still call this.

 test_file_lines now counts the lines of the oldest procedure in src/pro
 hash, list are still incomplete so some tests are skipped if "git" is found in !gdl.release.
 MYMESS exchanged out for ERRORS_ADD

Greg Jung (aka maynardGK)
gvjung@gmail.com
  These are the result of a lot of experimentation - the scripting is very fragile.
 Nevertheless some flexibilty in the builds is allowed with small manipulation of the
appveyor.yml file.  For instance, a value for $env:platform value of "mingw64630x8664"
 will cause gdl to be built using the scripts/mingw-bldgdl.bat script and mingw32-make. So,
after using $env:platform to establish other variables, the default build (using MSYS2)
is forced by setting $env:platform=""
…ilds.

  In MINGW32, the functions that were found in PCRE for regular expressions are now derived
 from libsystre.  In Linux,there is no "systre" lib and so the routine will find, as usual,
 PCRE.  Similarly for the early version readline5 of win32libs, systre will not be found and
 pcre can satisfy the demand.

  The compilation of datatypes.cpp created a "file too big" error when compiling for 64-bits,
and so CMakeLists.txt includes an option, add_compile_options(-Wa,-mbig-obj), for the WIN32 case.
  test_obj_new and test_typename were failing in WIN32 because the object example
 they used was too large for GDL/WIN32 - a different error than what the tests are
supposed to test.
@codecov
Copy link

codecov bot commented Nov 20, 2018

Codecov Report

Merging #520 into master will increase coverage by <.01%.
The diff coverage is 82.6%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #520      +/-   ##
==========================================
+ Coverage   43.79%   43.79%   +<.01%     
==========================================
  Files         295      295              
  Lines       95839    95846       +7     
==========================================
+ Hits        41969    41979      +10     
+ Misses      53870    53867       -3
Impacted Files Coverage Δ
src/GDLTokenTypes.hpp 100% <ø> (ø) ⬆️
src/arrayindexlistnoassoct.hpp 70.8% <50%> (ø) ⬆️
src/gdlwidget.cpp 0.35% <57.14%> (+0.11%) ⬆️
src/graphicsdevice.cpp 50.61% <83.33%> (+0.77%) ⬆️
src/file.cpp 61.73% <95.65%> (+0.42%) ⬆️
src/gdl.cpp 39.39% <0%> (-2.03%) ⬇️
src/gdlwidget.hpp 1.92% <0%> (+0.24%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c074e97...12cd838. Read the comment docs.

…n systems.

  Is has been found that OSX/clang builds, in the travis builds with full dependencies,
 fail when a wxInitialize is called.  I wouldn't expect wxWidgets to work at all on Darwin systems,
 or maybe there is simply a flaw in the Travis implementation.
  isRange is the commonly used name for an array that gets passed in indexing,
that indicates whether an index value or an index range is denoted.  It is
a one-dimensional GDL variable that has up to now been incorrectly formed.
 also ::GetDecomposed(),::Decomposed(),  ::GetVisualDepth() as for devicex.
@maynardGK
Copy link
Contributor Author

@GillesDuvert Could you please merge this

@maynardGK
Copy link
Contributor Author

The appveyor tests on the windows' builds indicate segfaults and errors, but this is not the behavior
I found after downloading the artifact and running directly.

On a newly built Win10 (32-bit) system (a copy of the testsuite/ folder, from the git distribution, is needed as a subdirectory of gdllib/ in the artifact, to run the procedures):

% TEST_CALL_PROCEDURE_EXTRA:
=  NO errors encountered during TEST_CALL_PROCEDURE_EXTRA tests  =
% TEST_CALL_PROCEDURE_EXTRA:
=                                                                =
% TEST_CALL_PROCEDURE_EXTRA:
==================================================================
GDL> test_byte_conversion
% Compiled module: TEST_BYTE_CONVERSION.
% TEST_BYTE_BUG_586:   NO errors encountered during TEST_BYTE_BUG_586 tests
% TEST_BYTE_BASIC_32768:   NO errors encountered during TEST_BYTE_BASIC_32768 tests
% TEST_BYTE_BASIC_32768:   NO errors encountered during TEST_BYTE_BASIC_32768 tests
% TEST_BYTE_STRING2BYTE:   NO errors encountered during TEST_BYTE_STRING2BYTE tests
2017-03-11 : First run should be OK in GDL
% TEST_BYTE_WITH_LOOP:   NO errors encountered during TEST_BYTE_WITH_LOOP tests
2017-03-11 : Second run should be BAD in GDL
% TEST_BYTE_WITH_LOOP:   NO errors encountered during TEST_BYTE_WITH_LOOP tests
% TEST_BYTE_CONVERSION: =============================================================
% TEST_BYTE_CONVERSION: =                                                           =
% TEST_BYTE_CONVERSION: =  NO errors encountered during TEST_BYTE_CONVERSION tests  =
% TEST_BYTE_CONVERSION: =                                                           =
% TEST_BYTE_CONVERSION: =============================================================
GDL>
<etc>

@GillesDuvert GillesDuvert merged commit ae70f1e into gnudatalanguage:master May 2, 2019
@maynardGK maynardGK deleted the file_w32 branch May 5, 2019 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants