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

Enable testing on Windows with AppVeyor #437

Merged
merged 5 commits into from
Dec 17, 2017

Conversation

wilzbach
Copy link
Member

With the build.bat

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

I don't think this will fix appveyor but there are old things to remove

build.bat Outdated
set DFLAGS=-O -release -inline
set CORE=
set LIBDPARSE=
set STD=
Copy link

Choose a reason for hiding this comment

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

remove

build.bat Outdated

for %%x in (src\*.d) do set CORE=!CORE! %%x
for %%x in (src\analysis\*.d) do set ANALYSIS=!ANALYSIS! %%x
for %%x in (libdparse\experimental_allocator\src\std\experimental\allocator\*.d) do set STD=!STD! %%x
Copy link

Choose a reason for hiding this comment

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

remove

build.bat Outdated
for %%x in (src\*.d) do set CORE=!CORE! %%x
for %%x in (src\analysis\*.d) do set ANALYSIS=!ANALYSIS! %%x
for %%x in (libdparse\experimental_allocator\src\std\experimental\allocator\*.d) do set STD=!STD! %%x
for %%x in (libdparse\experimental_allocator\src\std\experimental\allocator\building_blocks\*.d) do set STD=!STD! %%x
Copy link

Choose a reason for hiding this comment

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

remove

build.bat Outdated
for %%x in (containers\src\containers\internal\*.d) do set CONTAINERS=!CONTAINERS! %%x

@echo on
%DC% %CORE% %STD% %LIBDPARSE% %LIBDDOC% %ANALYSIS% %INIFILED% %DSYMBOL% %CONTAINERS% %DFLAGS% -I"libdparse\src" -I"dsymbol\src" -I"containers\src" -I"libddoc\src" -ofdscanner.exe
Copy link

Choose a reason for hiding this comment

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

remove %STD%

build.bat Outdated
setlocal enabledelayedexpansion

IF "%DC%"=="" SET DC="dmd"
set DFLAGS=-O -release -inline
Copy link

@ghost ghost Jun 10, 2017

Choose a reason for hiding this comment

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

DFlags should change according to DC. For ldc2 they should be set to -O2 -release (O2 set implicitly inlining on)

Copy link

Choose a reason for hiding this comment

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

another option is to remove -inline. Your call...

@wilzbach
Copy link
Member Author

DFlags should change according to DC. For ldc2 they should be set to -O2 -release (O2 set implicitly inlining on)
another option is to remove -inline. Your call...

I used another trick:

IF "%DC%"=="ldc2" SET DC="ldmd2"

In theory this should also fix the issues with the invalid -lib flag ...

appveyor.yml Outdated
environment:
matrix:
- DC: dmd
DVersion: nightly
Copy link

Choose a reason for hiding this comment

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

nightly

appveyor.yml Outdated
DVersion: nightly
arch: x64
- DC: dmd
DVersion: nightly
Copy link

Choose a reason for hiding this comment

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

nightly

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

remove nightly and this will be fine

@ghost
Copy link

ghost commented Aug 19, 2017

You can now run the tests under windows with build.bat test.

@ghost ghost added the has conflicts label Aug 19, 2017
@wilzbach
Copy link
Member Author

wilzbach commented Dec 4, 2017

So now it seems that we run into a lot of funky messages: https://ci.appveyor.com/project/greenify/d-scanner/build/1.0.16/job/34hu2tnnwa23yw4y, e.g.

core.exception.AssertError@src\analysis\alias_syntax_check.d(48): Expected warning:
[warn]: Prefer the new "'alias' identifier '=' type ';'" syntax to the  old "'alias' type identifier ';'" syntax.
		alias abcde = int;
	
From source code at (48:?):
		alias int abcde; // [warn]: Prefer the new "'alias' identifier '=' type ';'" syntax to the  old "'alias' type identifier ';'" syntax.
		alias abcde = int;
	
----------------
0x00007FF6826BD41F in analysis.helpers.assertAnalyzerWarnings.__foreachbody5 at C:\projects\d-scanner\src\analysis\helpers.d(112)

As this hasn't been there this summer, I would assume this is due to a recent change in the compiler.
Is anyone using D-Scanner on Windows and wants to look into this?
(I don't have a Windows machine)

build.bat Outdated
@echo off
setlocal enabledelayedexpansion

IF "%DC%"=="" SET DC="dmd"
Copy link

@ghost ghost Dec 4, 2017

Choose a reason for hiding this comment

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

Sorry but can you write the commands in lower case, as in the rest of the script ?
Also do you know why there's a major diff failure for this file ?

@ghost
Copy link

ghost commented Dec 5, 2017

I'm on win right now. build.bat test passed with 2.076.1 and 2.077.1

@wilzbach
Copy link
Member Author

wilzbach commented Dec 5, 2017

I'm on win right now. build.bat test passed with 2.076.1 and 2.077.1

Thanks a lot for the info... This is great :/
Do you have other ideas?

Also do you know why there's a major diff failure for this file ?

I assume because my Vim automatically fixed the line-endings?
It's still weird though.

@ghost
Copy link

ghost commented Dec 5, 2017

I'll try to setup Appveyor on my fork and see. D-Scanner doesn't fundamentally requires multi platform tests but this is so weird that an explanation must be found.

@skl131313
Copy link
Contributor

skl131313 commented Dec 16, 2017

@wilzbach
Seems LDC changed their naming convention for releases, your download script for the ldc compiler is broken cause of that.

Also seems build.bat need to be updated for x86?

@wilzbach
Copy link
Member Author

Seems LDC changed their naming convention for releases, your download script for the ldc compiler is broken cause of that.

Thanks a lot for getting back to this & finding the root cause. I simply disabled ldc-beta and LDC x86 builds for now.
It will be a lot easier to re-enable them on a separate PR, testing with DMD on Windows already brings a great value and avoids the annoying red cross.

@wilzbach wilzbach merged commit 6086c5a into dlang-community:master Dec 17, 2017
@wilzbach wilzbach deleted the enable-appveyor branch December 17, 2017 06:02
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.

2 participants