Bugfixes on tests and github actions runner for Windows#10196
Bugfixes on tests and github actions runner for Windows#10196cmaglie wants to merge 15 commits intoarduino:masterfrom
Conversation
matthijskooijman
left a comment
There was a problem hiding this comment.
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.
This seems to downgrade junit from 4.11 to 4.5. Is that intentional?
There was a problem hiding this comment.
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:
antused on gh actions)javaexecutable, this way they are found even ifarduino_debug.exeis launched from another folder