-
-
Notifications
You must be signed in to change notification settings - Fork 7k
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
Bugfixes on tests and github actions runner for Windows #10196
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! I hope I didn't cause too much conflicts for you with my recent pullrequests ;-)
I left some small comments inline.
<classpathentry kind="lib" path="test-lib/assertj-swing-junit-1.2.0.jar"/> | ||
<classpathentry kind="lib" path="test-lib/assertj-swing-junit-4.5-1.2.0.jar"/> | ||
<classpathentry kind="lib" path="test-lib/fest-util-1.2.5.jar"/> | ||
<classpathentry kind="lib" path="test-lib/junit-4.5.jar"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to downgrade junit from 4.11 to 4.5. Is that intentional?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a forced dependency from assertj-swing-junit-4.5-1.2.0.jar
, unfortunately I didn't found an assertj-swing-junit-4.11-1.2.0.jar
.
Maybe it's ok to build with juint-4.11
, but since it's not a critical dependency I've just downgraded it.
CI run on windows produce the following error: D:\a\Arduino\Arduino\build\build.xml:365: java.nio.file.InvalidPathException: Illegal char <*> at index 42: D:\a\Arduino\Arduino\build\macosx\arduino-*.dmg
Previously the <input...> tag was removed with sed to avoid hitting enter on the version number prompt. We can just skip the dist step altogether instead.
It looks like that on Windows string builders use a default encoding that is different from UTF-8.
This allows the library loader to find them even if arduino_debug.exe or arduino.exe is started from a different directory for example from the command prompt.
Previously while testing on Windows, if the process produces a lot of output that is not consumed, the pr.Wait() call will never end because the OS doesn't have enough buffering.
For some reason the consolePane.getText() method returns the document text with single CR translated into OS native CR+LF. This will influence test outcome since we check various combinations of CR and LF.
Wait for consumer thread to collect all output before returning from command line run. This patch avoid a race condition (the test output is checked before all the output is actually collected).
✅ Build completed. Please test this code using one of the following: ⬇️ https://downloads.arduino.cc/javaide/pull_requests/arduino-PR-10196-BUILD-975-linux32.tar.xz ℹ️ The |
This PR makes automatic testing on Windows working on github-actions.
It requires a bunch of bugfix/improvements:
ant
used on gh actions)java
executable, this way they are found even ifarduino_debug.exe
is launched from another folder