-
Notifications
You must be signed in to change notification settings - Fork 358
update run-tests.sh to work with 0.19 #1017
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
Conversation
these are no longer required by the new version of elm-test
* Date is no longer part of elm/core; remove tests for it * need to import Debug.toString to test it now * 0.19 limited tuple size, so reduce test to match * use new modBy and remainderBy functions * 0.19 removed flip, curry, and uncurry; so, remove tests for those * updates for elm-test: * remove a duplicate test * use Expect.within with floats
* expose Array module contents w/o prefix rather than Maybe * use modBy instead of (%) * remove test for Array.toString, removed in 0.19
* shadowing is no longer allowed by the compiler; remove test for it
* elm-test now requires tests to have unique names
* update import syntax * use String.fromInt, modBy, and Tuple.pair rather than toString, (%), and (,) * inline our own version of flip, as it was removed in 0.19 * remove test for scanl, which was removed in 0.19
* use modBy rather than (%) * String.toInt now returns a Maybe rather than a Result, so implement our own local version of the old behaviour, so the andThen tests can continue to build upon it.
* String.toInt and String.toFloat now return Maybe * String.toInt no longer parses hex literals in 0.19
elm/core is special because the compiler always inserts an implicit dependency on it. therefore it's impossible to have the tests integrated in the elm/core project in the normal way -- if we try to symlink out from $ELM_HOME to our project's source in the way that was done for 0.18, the compiler gets into a deadlock. other approaches cause it to find two copies of all the code in elm/core and refuse to proceed. instead, this approach creates a logically independent project, with no real code, only tests.
CI build failed with:
Hm ... I'll probably need some more details about how the CI environment is set up to say why this isn't working. |
Also you might want to have a look at @harrysarson's approach in jerith666#1 -- we weren't sure which was better. |
See: https://github.com/elm/core/blob/master/.travis.yml#L29 Travis is trying to run the tests using elm 0.18 which is (I think) why they are breaking. |
This removes `src` as a source directory in the tests directory as it does not exist. Additionally, it uses a global elm-test by default in `run-tests.sh` and uses travis elm support. Refs: https://docs.travis-ci.com/user/languages/elm Refs: elm#1017
What is the status here? I note that #1016 was merged but not this one. |
this deserves <3 and merge |
I couldn't get the
Not sure if this is a good fix though, my bash-foo is weak. I'm running zsh on the latest Mac OS. |
I developed this script on NixOS, which is at bash 4.4 right now. A comment on this stackoverflow answer says that So yeah, making it run on older bashes seems fine. :-) If you do |
Now it works, thanks! Would you mind adding a line at the bottom that removes the *.dat files? Also, is it possible to detect if the symlink already exists? It would be awesome to skip the "seeding" phase as it would greatly increases the feedback loop. Another suggestion is to pass on the arguments to elm-test. That way one could do |
Thank you @Skinney for reviewing, and thank you @jerith666 for the fixes and patience! The suggestions made by @Skinney are probably best made separately. |
I don't feel like I'm familiar enough with the way |
Yeah, you're right. I was thinking that perhaps the link could be removed at the end of the script, and then at the beginning of the script we check if the link is actually there before seeding. But after |
With this commit, tests run again (I believe they last run with elm 0.18.0). I have used the same approach as elm/core#1017 to get these tests running.
fix tests With this commit, tests run again (I believe they last run with elm 0.18.0). I have used the same approach as elm/core#1017 to get these tests running.
See #1016 for changes to the test code itself.
elm/core is special because the compiler always inserts an implicit
dependency on it. therefore it's impossible to have the tests
integrated in the elm/core project in the normal way -- if we try to
symlink out from $ELM_HOME to our project's source in the way that was
done for 0.18, the compiler gets into a deadlock. other approaches
cause it to find two copies of all the code in elm/core and refuse to
proceed.
instead, this approach creates a logically independent project, with
no real code, only tests.