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

There are just 49 failures out of 1075 tests on Windows #1231

Closed
AlbertMoscow opened this Issue Jun 11, 2013 · 51 comments

Comments

Projects
None yet
6 participants
@AlbertMoscow
Contributor

AlbertMoscow commented Jun 11, 2013

https://github.com/elixir-lang/elixir/blob/stable/lib/elixir/test/elixir/file_test.exs

....FFFFFFF....FF..FF.....FF.............FFFF......FFFFFFFFFF..FFF...F..F....FF.....FFF..........FF...

Failures:

  1. test_rm_rf (FileTest.Rm)
    ** (File.CopyError) could not copy recursively from u:/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to u:/elixir/lib/elixir/test/tmp/tmp: I/O error
    at file_test.exs:772

  2. test_rm_rf! (FileTest.Rm)
    ** (File.CopyError) could not copy recursively from u:/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to u:/elixir/lib/elixir/test/tmp/tmp: I/O error
    at file_test.exs:842

  3. test_rm_rf_with_char_list (FileTest.Rm)
    ** (File.CopyError) could not copy recursively from u:/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to u:/elixir/lib/elixir/test/tmp/tmp: I/O error
    at file_test.exs:806

  4. test_rm_rf_with_file (FileTest.Rm)
    ** (ExUnit.ExpectationError)
    expected: {:error,:eio}
    to be equal to (==): {:ok,["u:/elixir/lib/elixir/test/tmp/tmp"]}
    at file_test.exs:826

  5. test_rm_rf_with_invalid (FileTest.Rm)
    ** (ExUnit.ExpectationError)
    expected: {:ok,[]}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:836

  6. test_rm_rf_with_invalid! (FileTest.Rm)
    ** (ExUnit.AssertionError) Expected File.Error exception but nothing was raised
    at file_test.exs:861

  7. test_rm_rf_with_symlink (FileTest.Rm)
    ** (ExUnit.AssertionError) Expected false to be true
    at file_test.exs:794

  8. test_rmdir_with_file (FileTest.Rm)
    ** (ExUnit.ExpectationError)
    expected: {:error,:eio}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:751

  9. test_rmdir_with_file! (FileTest.Rm)
    ** (ExUnit.ExpectationError)
    expected file.error[reason: :eio, action: "remove directory", path: "u:/elixir/lib/elixir/test/elixir/fixtures/file.txt"]'s message: "could not remove directory u:/elixir/lib/elixir/test/elixir/fixtures/file.txt: not a directory"
    to match: "could not remove directory u:/elixir/lib/elixir/test/elixir/fixtures/file.txt: I/O error"
    at file_test.exs:764

  10. test_mkdir_p_with_invalid_path (FileTest.Mkdir)
    ** (ExUnit.ExpectationError)
    expected: {:error,:enoent}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:670

  11. test_mkdir_p_with_invalid_path! (FileTest.Mkdir)
    ** (ExUnit.ExpectationError)
    expected file.error[reason: :enoent, action: "make directory (with -p)", path: "u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/test"]'s message: "could not make directory (with -p) u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: not a directory"
    to match: "could not make directory (with -p) u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: no such file or directory"
    at file_test.exs:689

  12. test_mkdir_with_invalid_path (FileTest.Mkdir)
    ** (ExUnit.ExpectationError)
    expected: {:error,:enoent}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:589

  13. test_mkdir_with_invalid_path! (FileTest.Mkdir)
    ** (ExUnit.ExpectationError)
    expected file.error[reason: :enoent, action: "make directory", path: "u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/test"]'s message: "could not make directory u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: not a directory"
    to match: "could not make directory u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: no such file or directory"
    at file_test.exs:608

  14. test_read! (FileTest.OpenReadWrite)
    ** (ExUnit.ExpectationError)
    expected: "FOO\r\n"
    to be equal to (==): "FOO\n"
    at file_test.exs:436

  15. test_read_with_binary (FileTest.OpenReadWrite)
    ** (ExUnit.ExpectationError)
    expected: {:ok,"FOO\r\n"}
    to match pattern (=): {:ok, "FOO\n"}
    at file_test.exs:422

  16. test_read_with_list (FileTest.OpenReadWrite)
    ** (ExUnit.ExpectationError)
    expected: {:ok,"FOO\r\n"}
    to match pattern (=): {:ok, "FOO\n"}
    at file_test.exs:427

  17. test_read_with_utf8 (FileTest.OpenReadWrite)
    ** (ExUnit.ExpectationError)
    expected: {:ok,"Русский\r\n日\r\n"}
    to match pattern (=): {:ok, "Русский\n日\n"}
    at file_test.exs:432

  18. test_cp_r! (FileTest.Cp)
    ** (File.CopyError) could not copy recursively from u:/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to u:/elixir/lib/elixir/test/tmp/tmp: I/O error
    at file_test.exs:347

  19. test_cp_r_with_dir_and_file_conflict (FileTest.Cp)
    ** (ExUnit.ExpectationError)
    expected: {:error,:eio}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:271

  20. test_cp_r_with_src_dir_and_dest_dir (FileTest.Cp)
    ** (MatchError) no match of right hand side value: {:error,:eio}
    at file_test.exs:188

  21. test_cp_r_with_src_dir_and_dest_dir_using_lists (FileTest.Cp)
    ** (MatchError) no match of right hand side value: {:error,:eio}
    at file_test.exs:288

  22. test_cp_r_with_src_dir_and_dest_file (FileTest.Cp)
    ** (ExUnit.ExpectationError)
    expected: {:error,:enoent}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:232

  23. test_cp_r_with_src_dir_and_dest_unknown (FileTest.Cp)
    ** (MatchError) no match of right hand side value: {:error,:eio}
    at file_test.exs:247

  24. test_cp_r_with_src_dir_dot_and_dest_dir (FileTest.Cp)
    ** (MatchError) no match of right hand side value: {:error,:eio}
    at file_test.exs:215

  25. test_cp_r_with_src_file_and_dest_dir (FileTest.Cp)
    ** (ExUnit.AssertionError) Expected true to be false
    at file_test.exs:156

  26. test_cp_r_with_src_file_and_dest_file (FileTest.Cp)
    ** (ExUnit.ExpectationError)
    expected: {:error,:eio}
    to be equal to (==): {:ok,["u:/elixir/lib/elixir/test/tmp/sample.txt"]}
    at file_test.exs:141

  27. test_cp_r_with_src_file_and_dest_unknown (FileTest.Cp)
    ** (ExUnit.AssertionError) Expected true to be false
    at file_test.exs:169

  28. test_cp_r_with_src_with_file_conflict (FileTest.Cp)
    ** (File.Error) could not write to file u:/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
    at file_test.exs:305

  29. test_cp_r_with_src_with_file_conflict_callback (FileTest.Cp)
    ** (File.Error) could not write to file u:/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
    at file_test.exs:321

  30. test_cp_with_conflict (FileTest.Cp)
    ** (ExUnit.ExpectationError)
    expected: "FOO\r\n"
    to be equal to (==): "FOO\n"
    at file_test.exs:84

  31. test_cp_with_src_file_and_dest_dir (FileTest.Cp)
    ** (ExUnit.AssertionError) Expected true to be false
    at file_test.exs:48

  32. test_cp_with_src_file_and_dest_unknown (FileTest.Cp)
    ** (ExUnit.AssertionError) Expected true to be false
    at file_test.exs:61

  33. test_copy (FileTest)
    ** (ExUnit.ExpectationError)
    expected: {:ok,5}
    to be equal to (==): {:ok,4}
    at file_test.exs:993

  34. test_copy! (FileTest)
    ** (ExUnit.ExpectationError)
    expected: 5
    to be equal to (==): 4
    at file_test.exs:1023

  35. test_cwd_and_cd_with_utf8 (FileTest)
    ** (File.Error) could not set current working directory to u:/elixir/lib/elixir/test/elixir/fixtures/héllò: no such file or directory
    stacktrace:
    /Volumes/Work/github/elixir/lib/elixir/lib/file.ex:892: File.cd!/2
    file_test.exs:1062: FileTest.test_cwd_and_cd_with_utf8/1

  36. test_invalid_cd (FileTest)
    ** (ExUnit.ExpectationError)
    expected: {:error,:enoent}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:1069

  37. test_invalid_cd! (FileTest)
    ** (ExUnit.ExpectationError)
    expected file.error[reason: :enoent, action: "set current working directory to", path: "u:/elixir/lib/elixir/test/elixir/fixtures/file.txt"]'s message: "could not set current working directory to u:/elixir/lib/elixir/test/elixir/fixtures/file.txt: not a directory"
    to match: "could not set current working directory to u:/elixir/lib/elixir/test/elixir/fixtures/file.txt: no such file or directory"
    at file_test.exs:1074

  38. test_touch_with_failure (FileTest)
    ** (ExUnit.ExpectationError)
    expected: {:error,:enoent}
    to be equal to (==): {:error,:enotdir}
    at file_test.exs:1118

  39. test_touch_with_failure! (FileTest)
    ** (ExUnit.ExpectationError)
    expected file.error[reason: :enoent, action: "touch", path: "u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar"]'s message: "could not touch u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar: not a directory"
    to match: "could not touch u:/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar: no such file or directory"
    at file_test.exs:1127

Finished in 6.8 seconds (1.4s on load, 5.3s on tests)
102 tests, 39 failures
[Finished in 9.2s with exit code 1]

https://github.com/elixir-lang/elixir/blob/stable/lib/elixir/test/elixir/io_test.exs

..F........

Failures:

  1. test_getn (IOTest)
    ** (ExUnit.ExpectationError)
    expected: "\n"
    to be equal to (==): "\r"
    at io_test.exs:29

Finished in 0.5 seconds (0.2s on load, 0.3s on tests)
11 tests, 1 failures
[Finished in 2.8s with exit code 1]

https://github.com/elixir-lang/elixir/blob/stable/lib/elixir/test/elixir/path_test.exs

FF....FFF...........F.FF

Failures:

  1. test_absname_with_binary (PathTest)
    ** (ExUnit.ExpectationError)
    expected: "u:/foo/bar"
    to be equal to (==): "/foo/bar"
    at path_test.exs:82

  2. test_absname_with_list (PathTest)
    ** (ExUnit.ExpectationError)
    expected: 'u:/foo/bar'
    to be equal to (==): '/foo/bar'
    at path_test.exs:94

  3. test_expand_path_with_binary (PathTest)
    ** (ExUnit.ExpectationError)
    expected: "u:/foo/bar"
    to be equal to (==): "/foo/bar"
    at path_test.exs:116

  4. test_expand_path_with_list (PathTest)
    ** (ExUnit.ExpectationError)
    expected: 'u:/foo/bar'
    to be equal to (==): '/foo/bar'
    at path_test.exs:132

  5. test_expand_path_with_user_home (PathTest)
    ** (ExUnit.ExpectationError)
    expected: "C:\erl5.10.1\erts-5.10.1\bin;C:\elixir\bin"
    to be equal to (==): "c:/erl5.10.1/erts-5.10.1/bin;C:elixir/bin"
    at path_test.exs:103

  6. test_split_with_binary (PathTest)
    ** (ExUnit.ExpectationError)
    expected: []
    to be equal to (==): ["/"]
    at path_test.exs:241

  7. test_type (PathTest)
    ** (ExUnit.ExpectationError)
    expected: :volumerelative
    to be equal to (==): :absolute
    at path_test.exs:67

  8. test_wildcard (PathTest)
    ** (ExUnit.ExpectationError)
    expected: []
    to be equal to (==): ["u:/elixir/lib/elixir/test/elixir/fixtures/héllò"]
    at path_test.exs:10

Finished in 0.5 seconds (0.3s on load, 0.1s on tests)
24 tests, 8 failures
[Finished in 2.9s with exit code 1]

https://github.com/elixir-lang/elixir/blob/stable/lib/elixir/test/elixir/system_test.exs

..."binary" is not recognized as an internal or external
command, operable program or batch file.
"binary" is not recognized as an internal or external
command, operable program or batch file.
..F.....

Failures:

  1. test_cwd_with_utf8 (SystemTest)
    ** (File.Error) could not set current working directory to u:/elixir/lib/elixir/test/elixir/fixtures/héllò: no such file or directory
    stacktrace:
    /Volumes/Work/github/elixir/lib/elixir/lib/file.ex:892: File.cd!/2
    system_test.exs:24: SystemTest.test_cwd_with_utf8/1

Finished in 4.8 seconds (0.2s on load, 4.6s on tests)
11 tests, 1 failures
[Finished in 7.0s with exit code 1]

And it seems to me this one especially needs to be rethought:

test :cmd do
assert is_binary(System.cmd "binary")
assert is_list(System.cmd 'binary')
end

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 11, 2013

Member

Oh, this is awesome! Thanks for the report.

@AlbertMoscow, how have you compiled Elixir on Windows? Doesn't it require make to run all the Makefile commands?

Member

josevalim commented Jun 11, 2013

Oh, this is awesome! Thanks for the report.

@AlbertMoscow, how have you compiled Elixir on Windows? Doesn't it require make to run all the Makefile commands?

@alexrp

This comment has been minimized.

Show comment
Hide comment
@alexrp

alexrp Jun 11, 2013

Contributor

Last I checked, you can build Elixir in a MinGW shell.

Contributor

alexrp commented Jun 11, 2013

Last I checked, you can build Elixir in a MinGW shell.

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 11, 2013

Contributor

@josevalim, that's right! I used MinGW shell with MSYS installed when was trying to compile Elixir on Windows.

http://www.mingw.org/wiki/MSYS

http://www.mingw.org/wiki/Getting_Started

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/

One should never forget to add to his or her Path:

;C:\MinGW\bin;C:\MinGW\msys\1.0\bin

and restart the computer. :)

Contributor

AlbertMoscow commented Jun 11, 2013

@josevalim, that's right! I used MinGW shell with MSYS installed when was trying to compile Elixir on Windows.

http://www.mingw.org/wiki/MSYS

http://www.mingw.org/wiki/Getting_Started

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/

One should never forget to add to his or her Path:

;C:\MinGW\bin;C:\MinGW\msys\1.0\bin

and restart the computer. :)

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 13, 2013

Member

Thanks @AlbertMoscow! I have fixed a couple of those but I don't have a Windows machine set up. Would you be interested in helping us getting our suite green on Windows? I am making myself available for any kind of help you may need on this task. :)

Member

josevalim commented Jun 13, 2013

Thanks @AlbertMoscow! I have fixed a couple of those but I don't have a Windows machine set up. Would you be interested in helping us getting our suite green on Windows? I am making myself available for any kind of help you may need on this task. :)

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 13, 2013

Contributor

@josevalim, of course! Do you mean testing your fixes on my Windows machine, don't you?

Contributor

AlbertMoscow commented Jun 13, 2013

@josevalim, of course! Do you mean testing your fixes on my Windows machine, don't you?

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 13, 2013

Member

@AlbertMoscow I mean by testing my fixes and helping us investigating and fixing the other ones. :)

Member

josevalim commented Jun 13, 2013

@AlbertMoscow I mean by testing my fixes and helping us investigating and fixing the other ones. :)

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 13, 2013

Contributor

@josevalim, I believe we understood each other! :)

Contributor

AlbertMoscow commented Jun 13, 2013

@josevalim, I believe we understood each other! :)

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 13, 2013

Contributor

José, are your fixes in master branch? I'd like to test them.

Contributor

AlbertMoscow commented Jun 13, 2013

José, are your fixes in master branch? I'd like to test them.

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 13, 2013

Member

In the master branch, yes.

Member

josevalim commented Jun 13, 2013

In the master branch, yes.

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 14, 2013

Contributor

Great news! There are two books awaiting for Elixir 1.0 to come out by the end of this year, so you guys have whole six months to fix all 46 remaining failures in 1074 tests on Windows. :)

Contributor

AlbertMoscow commented Jun 14, 2013

Great news! There are two books awaiting for Elixir 1.0 to come out by the end of this year, so you guys have whole six months to fix all 46 remaining failures in 1074 tests on Windows. :)

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 14, 2013

Member

And with our community growing every day, hopefully many developers will help us tackle this task by sending lovely pull requests! :D ❤️ 💚 💙 💛 💜

Member

josevalim commented Jun 14, 2013

And with our community growing every day, hopefully many developers will help us tackle this task by sending lovely pull requests! :D ❤️ 💚 💙 💛 💜

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

@AlbertMoscow I also have mingw etc, and eveything in the path, but somehow I get the following error:

Tom@Jommeke /C/dev/elixir/elixir
$ mix compile
/c/Program Files/elixir/bin/elixir: line 2: [: too many arguments
/c/Program Files/elixir/bin/elixir: line 2: [: too many arguments
c:/dev/elixir/elixir/lib/eex/lib/eex/smart_engine.ex:1: redefining module EEx.TransformerEngine
c:/dev/elixir/elixir/lib/elixir/lib/behaviour.ex:1: redefining module Behaviour
c:/dev/elixir/elixir/lib/eex/lib/eex/tokenizer.ex:1: redefining module EEx.Tokenizer
c:/dev/elixir/elixir/lib/eex/lib/eex/engine.ex:1: redefining module EEx.Engine
c:/dev/elixir/elixir/lib/elixir/lib/application/behaviour.ex:1: redefining module Application.Behaviour
c:/dev/elixir/elixir/lib/eex/lib/eex/compiler.ex:1: redefining module EEx.State
c:/dev/elixir/elixir/lib/elixir/lib/access.ex:3: redefining module Access
c:/dev/elixir/elixir/lib/eex/lib/eex.ex:1: redefining module EEx.SyntaxError
c:/dev/elixir/elixir/lib/eex/lib/eex/smart_engine.ex:47: redefining module EEx.AssignsEngine
Compiled lib/elixir/lib/application/behaviour.ex
Compiled lib/eex/lib/eex/engine.ex
c:/dev/elixir/elixir/lib/eex/lib/eex/smart_engine.ex:88: redefining module EEx.SmartEngine
c:/dev/elixir/elixir/lib/elixir/lib/binary/chars.ex:3: redefining module Binary.Chars
c:/dev/elixir/elixir/lib/elixir/lib/access.ex:22: redefining module Access.List
Compiled lib/elixir/lib/behaviour.ex
Compiled lib/eex/lib/eex/tokenizer.ex
c:/dev/elixir/elixir/lib/elixir/lib/binary/inspect.ex:3: redefining module Binary.Inspect
c:/dev/elixir/elixir/lib/elixir/lib/bitwise.ex:1: redefining module Bitwise
Compiled lib/eex/lib/eex/smart_engine.ex
c:/dev/elixir/elixir/lib/elixir/lib/access.ex:47: redefining module Access.Atom
== Compilation error on file lib/eex/lib/eex.ex ==
c:/dev/elixir/elixir/lib/elixir/lib/code.ex:1: redefining module Code
** (CompileError) c:/dev/elixir/elixir/lib/eex/lib/eex.ex:1: type '->'(_) undefined

Any tips/pointers/... ?

Contributor

ToJans commented Jun 17, 2013

@AlbertMoscow I also have mingw etc, and eveything in the path, but somehow I get the following error:

Tom@Jommeke /C/dev/elixir/elixir
$ mix compile
/c/Program Files/elixir/bin/elixir: line 2: [: too many arguments
/c/Program Files/elixir/bin/elixir: line 2: [: too many arguments
c:/dev/elixir/elixir/lib/eex/lib/eex/smart_engine.ex:1: redefining module EEx.TransformerEngine
c:/dev/elixir/elixir/lib/elixir/lib/behaviour.ex:1: redefining module Behaviour
c:/dev/elixir/elixir/lib/eex/lib/eex/tokenizer.ex:1: redefining module EEx.Tokenizer
c:/dev/elixir/elixir/lib/eex/lib/eex/engine.ex:1: redefining module EEx.Engine
c:/dev/elixir/elixir/lib/elixir/lib/application/behaviour.ex:1: redefining module Application.Behaviour
c:/dev/elixir/elixir/lib/eex/lib/eex/compiler.ex:1: redefining module EEx.State
c:/dev/elixir/elixir/lib/elixir/lib/access.ex:3: redefining module Access
c:/dev/elixir/elixir/lib/eex/lib/eex.ex:1: redefining module EEx.SyntaxError
c:/dev/elixir/elixir/lib/eex/lib/eex/smart_engine.ex:47: redefining module EEx.AssignsEngine
Compiled lib/elixir/lib/application/behaviour.ex
Compiled lib/eex/lib/eex/engine.ex
c:/dev/elixir/elixir/lib/eex/lib/eex/smart_engine.ex:88: redefining module EEx.SmartEngine
c:/dev/elixir/elixir/lib/elixir/lib/binary/chars.ex:3: redefining module Binary.Chars
c:/dev/elixir/elixir/lib/elixir/lib/access.ex:22: redefining module Access.List
Compiled lib/elixir/lib/behaviour.ex
Compiled lib/eex/lib/eex/tokenizer.ex
c:/dev/elixir/elixir/lib/elixir/lib/binary/inspect.ex:3: redefining module Binary.Inspect
c:/dev/elixir/elixir/lib/elixir/lib/bitwise.ex:1: redefining module Bitwise
Compiled lib/eex/lib/eex/smart_engine.ex
c:/dev/elixir/elixir/lib/elixir/lib/access.ex:47: redefining module Access.Atom
== Compilation error on file lib/eex/lib/eex.ex ==
c:/dev/elixir/elixir/lib/elixir/lib/code.ex:1: redefining module Code
** (CompileError) c:/dev/elixir/elixir/lib/eex/lib/eex.ex:1: type '->'(_) undefined

Any tips/pointers/... ?

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

All, you need to run make compile and make test. Please don't use mix to compile elixir as it runs into bootstrapping issues! :D

Member

josevalim commented Jun 17, 2013

All, you need to run make compile and make test. Please don't use mix to compile elixir as it runs into bootstrapping issues! :D

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

Tried with make, other error:

Tom@Jommeke /C/dev/elixir/elixir
$ make compile
==> elixir (compile)
{error_logger,{{2013,6,17},{14,26,37}},std_error,"File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server.
"}

=ERROR REPORT==== 17-Jun-2013::16:26:37 ===
File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server.
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_it,1,[{file,"init.erl"},{line,1054}]},{init,start_em,1,[{file,"init.erl"},{line,1034
}]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
make: *** [lib/mix/ebin/mix.app] Error 1
Contributor

ToJans commented Jun 17, 2013

Tried with make, other error:

Tom@Jommeke /C/dev/elixir/elixir
$ make compile
==> elixir (compile)
{error_logger,{{2013,6,17},{14,26,37}},std_error,"File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server.
"}

=ERROR REPORT==== 17-Jun-2013::16:26:37 ===
File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server.
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_it,1,[{file,"init.erl"},{line,1054}]},{init,start_em,1,[{file,"init.erl"},{line,1034
}]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
make: *** [lib/mix/ebin/mix.app] Error 1
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

Try make clean, to clean up any possible garbage generated by mix compile and then please try make compile again. Maybe git clean -df to
remove unchecked files too.

Member

josevalim commented Jun 17, 2013

Try make clean, to clean up any possible garbage generated by mix compile and then please try make compile again. Maybe git clean -df to
remove unchecked files too.

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

it crashes again on lib/mix/lib/mix/version.ex I presume:

==> eex (compile)
Compiled lib/eex/lib/eex/engine.ex
Compiled lib/eex/lib/eex/tokenizer.ex
Compiled lib/eex/lib/eex/smart_engine.ex
Compiled lib/eex/lib/eex.ex
Compiled lib/eex/lib/eex/compiler.ex
==> mix (compile)
Compiled lib/mix/lib/mix/archive.ex
Compiled lib/mix/lib/mix/deps/lock.ex
Compiled lib/mix/lib/mix/cli.ex
Compiled lib/mix/lib/mix/generator.ex
Compiled lib/mix/lib/mix.ex
Compiled lib/mix/lib/mix/local.ex
Compiled lib/mix/lib/mix/scm.ex
Compiled lib/mix/lib/mix/scm/path.ex
Compiled lib/mix/lib/mix/rebar.ex
Compiled lib/mix/lib/mix/shell.ex
Compiled lib/mix/lib/mix/scm/git.ex
Compiled lib/mix/lib/mix/sup.ex
Compiled lib/mix/lib/mix/shell/io.ex
Compiled lib/mix/lib/mix/shell/process.ex
Compiled lib/mix/lib/mix/deps/converger.ex
Compiled lib/mix/lib/mix/task.ex
Compiled lib/mix/lib/mix/tasks/iex.ex
Compiled lib/mix/lib/mix/tasks/archive.ex
Compiled lib/mix/lib/mix/tasks/loadpaths.ex
Compiled lib/mix/lib/mix/tasks/deps.unlock.ex
Compiled lib/mix/lib/mix/tasks/do.ex
Compiled lib/mix/lib/mix/tasks/clean.ex
Compiled lib/mix/lib/mix/tasks/local.rebar.ex
Compiled lib/mix/lib/mix/tasks/compile.yecc.ex
Compiled lib/mix/lib/mix/tasks/local.ex
Compiled lib/mix/lib/mix/tasks/run.ex
Compiled lib/mix/lib/mix/tasks/compile.leex.ex
Compiled lib/mix/lib/mix/tasks/app.start.ex
Compiled lib/mix/lib/mix/tasks/local.uninstall.ex
Compiled lib/mix/lib/mix/tasks/help.ex
Compiled lib/mix/lib/mix/tasks/compile.ex
Compiled lib/mix/lib/mix/tasks/local.install.ex
Compiled lib/mix/lib/mix/tasks/compile.elixir.ex
Compiled lib/mix/lib/mix/tasks/test.ex
Compiled lib/mix/lib/mix/deps/retriever.ex
Compiled lib/mix/lib/mix/tasks/compile.app.ex
Compiled lib/mix/lib/mix/tasks/escriptize.ex
Compiled lib/mix/lib/mix/deps.ex
Compiled lib/mix/lib/mix/utils.ex
Compiled lib/mix/lib/mix/tasks/deps.loadpaths.ex
Compiled lib/mix/lib/mix/tasks/deps.ex
Compiled lib/mix/lib/mix/tasks/deps.clean.ex
Compiled lib/mix/lib/mix/tasks/deps.check.ex
Compiled lib/mix/lib/mix/tasks/deps.get.ex
Compiled lib/mix/lib/mix/tasks/deps.update.ex
Compiled lib/mix/lib/mix/tasks/deps.compile.ex
Compiled lib/mix/lib/mix/tasks/compile.erlang.ex
Compiled lib/mix/lib/mix/server.ex
Compiled lib/mix/lib/mix/project.ex
Compiled lib/mix/lib/mix/tasks/new.ex
Compiled lib/mix/lib/mix/exceptions.ex
Compiled lib/mix/lib/mix/version.ex
{error_logger,{{2013,6,17},{14,34,9}},std_error,"File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server."
}

=ERROR REPORT==== 17-Jun-2013::16:34:09 ===
File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server.
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_it,1,[{file,"init.erl"},{line,1054}]},{init,start_em,1,[{file,"init.erl"},{line,1034
}]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
make: *** [lib/mix/ebin/mix.app] Error 1

Tom@Jommeke /C/dev/elixir/elixir
Contributor

ToJans commented Jun 17, 2013

it crashes again on lib/mix/lib/mix/version.ex I presume:

==> eex (compile)
Compiled lib/eex/lib/eex/engine.ex
Compiled lib/eex/lib/eex/tokenizer.ex
Compiled lib/eex/lib/eex/smart_engine.ex
Compiled lib/eex/lib/eex.ex
Compiled lib/eex/lib/eex/compiler.ex
==> mix (compile)
Compiled lib/mix/lib/mix/archive.ex
Compiled lib/mix/lib/mix/deps/lock.ex
Compiled lib/mix/lib/mix/cli.ex
Compiled lib/mix/lib/mix/generator.ex
Compiled lib/mix/lib/mix.ex
Compiled lib/mix/lib/mix/local.ex
Compiled lib/mix/lib/mix/scm.ex
Compiled lib/mix/lib/mix/scm/path.ex
Compiled lib/mix/lib/mix/rebar.ex
Compiled lib/mix/lib/mix/shell.ex
Compiled lib/mix/lib/mix/scm/git.ex
Compiled lib/mix/lib/mix/sup.ex
Compiled lib/mix/lib/mix/shell/io.ex
Compiled lib/mix/lib/mix/shell/process.ex
Compiled lib/mix/lib/mix/deps/converger.ex
Compiled lib/mix/lib/mix/task.ex
Compiled lib/mix/lib/mix/tasks/iex.ex
Compiled lib/mix/lib/mix/tasks/archive.ex
Compiled lib/mix/lib/mix/tasks/loadpaths.ex
Compiled lib/mix/lib/mix/tasks/deps.unlock.ex
Compiled lib/mix/lib/mix/tasks/do.ex
Compiled lib/mix/lib/mix/tasks/clean.ex
Compiled lib/mix/lib/mix/tasks/local.rebar.ex
Compiled lib/mix/lib/mix/tasks/compile.yecc.ex
Compiled lib/mix/lib/mix/tasks/local.ex
Compiled lib/mix/lib/mix/tasks/run.ex
Compiled lib/mix/lib/mix/tasks/compile.leex.ex
Compiled lib/mix/lib/mix/tasks/app.start.ex
Compiled lib/mix/lib/mix/tasks/local.uninstall.ex
Compiled lib/mix/lib/mix/tasks/help.ex
Compiled lib/mix/lib/mix/tasks/compile.ex
Compiled lib/mix/lib/mix/tasks/local.install.ex
Compiled lib/mix/lib/mix/tasks/compile.elixir.ex
Compiled lib/mix/lib/mix/tasks/test.ex
Compiled lib/mix/lib/mix/deps/retriever.ex
Compiled lib/mix/lib/mix/tasks/compile.app.ex
Compiled lib/mix/lib/mix/tasks/escriptize.ex
Compiled lib/mix/lib/mix/deps.ex
Compiled lib/mix/lib/mix/utils.ex
Compiled lib/mix/lib/mix/tasks/deps.loadpaths.ex
Compiled lib/mix/lib/mix/tasks/deps.ex
Compiled lib/mix/lib/mix/tasks/deps.clean.ex
Compiled lib/mix/lib/mix/tasks/deps.check.ex
Compiled lib/mix/lib/mix/tasks/deps.get.ex
Compiled lib/mix/lib/mix/tasks/deps.update.ex
Compiled lib/mix/lib/mix/tasks/deps.compile.ex
Compiled lib/mix/lib/mix/tasks/compile.erlang.ex
Compiled lib/mix/lib/mix/server.ex
Compiled lib/mix/lib/mix/project.ex
Compiled lib/mix/lib/mix/tasks/new.ex
Compiled lib/mix/lib/mix/exceptions.ex
Compiled lib/mix/lib/mix/version.ex
{error_logger,{{2013,6,17},{14,34,9}},std_error,"File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server."
}

=ERROR REPORT==== 17-Jun-2013::16:34:09 ===
File operation error: eio. Target: :c:/dev/elixir/elixir/bin/../lib. Function: list_dir. Process: code_server.
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_it,1,[{file,"init.erl"},{line,1054}]},{init,start_em,1,[{file,"init.erl"},{line,1034
}]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
make: *** [lib/mix/ebin/mix.app] Error 1

Tom@Jommeke /C/dev/elixir/elixir
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

@ToJans It seems it compiled mix successfully and then it attempted to run something else but failed. It seems Elixir is failing to boot in the first place. Can you get bin/elixir -v to run?

Member

josevalim commented Jun 17, 2013

@ToJans It seems it compiled mix successfully and then it attempted to run something else but failed. It seems Elixir is failing to boot in the first place. Can you get bin/elixir -v to run?

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

Elixir works:

Tom@Jommeke /C/dev/elixir/elixir
$ bin/elixir -v
Elixir 0.9.3.dev

However, when I run make test it crashes, because it tries to compile mix I think.
Could it be that this has something to do with a place where you fetch the version, or is this hard-coded?
When I run bin/mix -v I get the wrong version:

Tom@Jommeke /C/dev/elixir/elixir
$ bin/mix -v
Elixir 0.9.2.dev
Contributor

ToJans commented Jun 17, 2013

Elixir works:

Tom@Jommeke /C/dev/elixir/elixir
$ bin/elixir -v
Elixir 0.9.3.dev

However, when I run make test it crashes, because it tries to compile mix I think.
Could it be that this has something to do with a place where you fetch the version, or is this hard-coded?
When I run bin/mix -v I get the wrong version:

Tom@Jommeke /C/dev/elixir/elixir
$ bin/mix -v
Elixir 0.9.2.dev
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

Ah, I know what is happening! The Makefile is trying to run bin/elixir which calls:

$ erl -env ERL_LIBS $ERL_LIBS:"$SCRIPT_PATH/../lib"

Notice it uses : as a separator but, for Windows, the separator should be ;. So Erlang considers the path to be invalid and fails to boot. Now, I don't know why bin/mix -v works... maybe because it is automatically picking up the .bat file?

Anyway, the solution seems to change the Makefile to pick the bin/elixir.bat instead of bin/elixir for Windows. We could give it a rough try though: Try replacing bin/elixir by bin/elixir.bat in the Makefile, the same for bin/elixirc. Does it solve the issue?

Member

josevalim commented Jun 17, 2013

Ah, I know what is happening! The Makefile is trying to run bin/elixir which calls:

$ erl -env ERL_LIBS $ERL_LIBS:"$SCRIPT_PATH/../lib"

Notice it uses : as a separator but, for Windows, the separator should be ;. So Erlang considers the path to be invalid and fails to boot. Now, I don't know why bin/mix -v works... maybe because it is automatically picking up the .bat file?

Anyway, the solution seems to change the Makefile to pick the bin/elixir.bat instead of bin/elixir for Windows. We could give it a rough try though: Try replacing bin/elixir by bin/elixir.bat in the Makefile, the same for bin/elixirc. Does it solve the issue?

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

I tried it, but it does not work, as MSys has problems executing batch files apparently:

checkout this gist: https://gist.github.com/ToJans/5797448/revisions

Contributor

ToJans commented Jun 17, 2013

I tried it, but it does not work, as MSys has problems executing batch files apparently:

checkout this gist: https://gist.github.com/ToJans/5797448/revisions

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

@ToJans for now, it may be easier to change the bin/elixir file to use ; instead of : in your local version. Do you have any idea of how we could find this information out in the shell file?

Member

josevalim commented Jun 17, 2013

@ToJans for now, it may be easier to change the bin/elixir file to use ; instead of : in your local version. Do you have any idea of how we could find this information out in the shell file?

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

I have not tried yet,as I first have to put the kids to bed, but in the mean time I found a way to detect msys:

Tom@Jommeke /C/dev/elixir/elixir/bin
$ which msys-1.0.dll
/bin/msys-1.0.dll

I would assume msys-1.0.dll is unavailable on non-msys-systems ;-)

Contributor

ToJans commented Jun 17, 2013

I have not tried yet,as I first have to put the kids to bed, but in the mean time I found a way to detect msys:

Tom@Jommeke /C/dev/elixir/elixir/bin
$ which msys-1.0.dll
/bin/msys-1.0.dll

I would assume msys-1.0.dll is unavailable on non-msys-systems ;-)

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

Is there a way we could run this check but without the version? :)

Member

josevalim commented Jun 17, 2013

Is there a way we could run this check but without the version? :)

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor
Tom@Jommeke /C/dev/elixir/elixir/bin
$ echo $MSYSTEM
MINGW32
Contributor

ToJans commented Jun 17, 2013

Tom@Jommeke /C/dev/elixir/elixir/bin
$ echo $MSYSTEM
MINGW32
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

@ToJans Awesome! Can you send a pull request that changes our bin/elixir file to use ";" or ":" based on $MSYSTEM or would you prefer if I tackled that here? :) I really appreciate all the help!

Member

josevalim commented Jun 17, 2013

@ToJans Awesome! Can you send a pull request that changes our bin/elixir file to use ";" or ":" based on $MSYSTEM or would you prefer if I tackled that here? :) I really appreciate all the help!

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

I changed all the : to \;, but the build seems to fail:
https://gist.github.com/ToJans/5799189/revisions
This is the output from make compile(after a make clean):

Tom@Jommeke /C/dev/elixir/elixir
$ make clean
==> elixir (clean)
rm -rf ebin
rm -rf lib/*/ebin
rm -rf lib/*/test/tmp
rm -rf lib/mix/test/fixtures/git_repo
rm -rf lib/*/tmp
rm -rf lib/elixir/src/elixir.app.src
rm -rf lib/elixir/src/*_lexer.erl
rm -rf lib/elixir/src/*_parser.erl
rm -rf lib/elixir/test/ebin

Tom@Jommeke /C/dev/elixir/elixir
$ make compile
==> elixir (compile)
Compiled src/elixir_parser.yrl
Compiled src/elixir.erl
Compiled src/elixir_aliases.erl
Compiled src/elixir_clauses.erl
Compiled src/elixir_code_server.erl
Compiled src/elixir_compiler.erl
Compiled src/elixir_def_defaults.erl
Compiled src/elixir_def_local.erl
Compiled src/elixir_def.erl
Compiled src/elixir_def_overridable.erl
Compiled src/elixir_errors.erl
Compiled src/elixir_import.erl
Compiled src/elixir_dispatch.erl
Compiled src/elixir_literal.erl
Compiled src/elixir_interpolation.erl
Compiled src/elixir_module.erl
Compiled src/elixir_partials.erl
Compiled src/elixir_macros.erl
Compiled src/elixir_quote.erl
Compiled src/elixir_scope.erl
Compiled src/elixir_sup.erl
Compiled src/elixir_tracker.erl
Compiled src/elixir_translator.erl
Compiled src/elixir_tree_helpers.erl
Compiled src/elixir_tokenizer.erl
Compiled src/elixir_try.erl
Compiled src/elixir_parser.erl
==> bootstrap (compile)
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/record.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/binary/inspect.ex
Compiled lib/elixir/lib/binary/chars.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel/record_rewriter.ex
Compiled lib/elixir/lib/module/dispatch_tracker.ex
==> kernel (compile)
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_it,1,[{file,"init.erl"},{line,1054}]},{init,start_em,1,[{file,"init.erl"},{line,1034
}]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
make: *** [lib/elixir/ebin/Elixir.Kernel.beam] Error 1
Contributor

ToJans commented Jun 17, 2013

I changed all the : to \;, but the build seems to fail:
https://gist.github.com/ToJans/5799189/revisions
This is the output from make compile(after a make clean):

Tom@Jommeke /C/dev/elixir/elixir
$ make clean
==> elixir (clean)
rm -rf ebin
rm -rf lib/*/ebin
rm -rf lib/*/test/tmp
rm -rf lib/mix/test/fixtures/git_repo
rm -rf lib/*/tmp
rm -rf lib/elixir/src/elixir.app.src
rm -rf lib/elixir/src/*_lexer.erl
rm -rf lib/elixir/src/*_parser.erl
rm -rf lib/elixir/test/ebin

Tom@Jommeke /C/dev/elixir/elixir
$ make compile
==> elixir (compile)
Compiled src/elixir_parser.yrl
Compiled src/elixir.erl
Compiled src/elixir_aliases.erl
Compiled src/elixir_clauses.erl
Compiled src/elixir_code_server.erl
Compiled src/elixir_compiler.erl
Compiled src/elixir_def_defaults.erl
Compiled src/elixir_def_local.erl
Compiled src/elixir_def.erl
Compiled src/elixir_def_overridable.erl
Compiled src/elixir_errors.erl
Compiled src/elixir_import.erl
Compiled src/elixir_dispatch.erl
Compiled src/elixir_literal.erl
Compiled src/elixir_interpolation.erl
Compiled src/elixir_module.erl
Compiled src/elixir_partials.erl
Compiled src/elixir_macros.erl
Compiled src/elixir_quote.erl
Compiled src/elixir_scope.erl
Compiled src/elixir_sup.erl
Compiled src/elixir_tracker.erl
Compiled src/elixir_translator.erl
Compiled src/elixir_tree_helpers.erl
Compiled src/elixir_tokenizer.erl
Compiled src/elixir_try.erl
Compiled src/elixir_parser.erl
==> bootstrap (compile)
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/record.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/binary/inspect.ex
Compiled lib/elixir/lib/binary/chars.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel/record_rewriter.ex
Compiled lib/elixir/lib/module/dispatch_tracker.ex
==> kernel (compile)
{"init terminating in do_boot",{undef,[{elixir,start_cli,[],[]},{init,start_it,1,[{file,"init.erl"},{line,1054}]},{init,start_em,1,[{file,"init.erl"},{line,1034
}]}]}}

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
make: *** [lib/elixir/ebin/Elixir.Kernel.beam] Error 1
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

The code is failing because it can't find the elixir.beam file. So I am assuming that replacing ":" by ";" in ERL_LIBS wasn't effective, as it still can't find the directory. :(

Here are some ideas. If you replace in bin/elixir:

-env ERL_LIBS $ERL_LIBS:"$SCRIPT_PATH/../lib"

Simply by:

-env ERL_LIBS $SCRIPT_PATH/../lib

Does it work?

Also, what is $SCRIPT_PATH/../lib returning for you? Maybe it is pointing to the wrong location? If so, maybe that's why it can't find elixir.beam?

Member

josevalim commented Jun 17, 2013

The code is failing because it can't find the elixir.beam file. So I am assuming that replacing ":" by ";" in ERL_LIBS wasn't effective, as it still can't find the directory. :(

Here are some ideas. If you replace in bin/elixir:

-env ERL_LIBS $ERL_LIBS:"$SCRIPT_PATH/../lib"

Simply by:

-env ERL_LIBS $SCRIPT_PATH/../lib

Does it work?

Also, what is $SCRIPT_PATH/../lib returning for you? Maybe it is pointing to the wrong location? If so, maybe that's why it can't find elixir.beam?

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

$SCRIPT_PATH/../lib points to /c:/dev/elixir/elixir/bin/../lib
The beam file is not under the lib folder, but under the lib/elixir/ebin/elixir folder, maybe that is the problem?

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/
eex/     elixir/  ex_unit/ iex/     mix/

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/elixir/
ebin/         include/      lib/          mix.exs       priv/         rebar.config  src/          test/

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/elixir/ebin/
Display all 147 possibilities? (y or n)

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/elixir/ebin/elixir
elixir.app                   elixir_def.beam              elixir_import.beam           elixir_partials.beam         elixir_translator.beam
elixir.beam                  elixir_def_defaults.beam     elixir_interpolation.beam    elixir_quote.beam            elixir_tree_helpers.beam
elixir_aliases.beam          elixir_def_local.beam        elixir_literal.beam          elixir_scope.beam            elixir_try.beam
elixir_clauses.beam          elixir_def_overridable.beam  elixir_macros.beam           elixir_sup.beam
elixir_code_server.beam      elixir_dispatch.beam         elixir_module.beam           elixir_tokenizer.beam
elixir_compiler.beam         elixir_errors.beam           elixir_parser.beam           elixir_tracker.beam
Contributor

ToJans commented Jun 17, 2013

$SCRIPT_PATH/../lib points to /c:/dev/elixir/elixir/bin/../lib
The beam file is not under the lib folder, but under the lib/elixir/ebin/elixir folder, maybe that is the problem?

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/
eex/     elixir/  ex_unit/ iex/     mix/

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/elixir/
ebin/         include/      lib/          mix.exs       priv/         rebar.config  src/          test/

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/elixir/ebin/
Display all 147 possibilities? (y or n)

Tom@Jommeke /C/dev/elixir/elixir
$ ls lib/elixir/ebin/elixir
elixir.app                   elixir_def.beam              elixir_import.beam           elixir_partials.beam         elixir_translator.beam
elixir.beam                  elixir_def_defaults.beam     elixir_interpolation.beam    elixir_quote.beam            elixir_tree_helpers.beam
elixir_aliases.beam          elixir_def_local.beam        elixir_literal.beam          elixir_scope.beam            elixir_try.beam
elixir_clauses.beam          elixir_def_overridable.beam  elixir_macros.beam           elixir_sup.beam
elixir_code_server.beam      elixir_dispatch.beam         elixir_module.beam           elixir_tokenizer.beam
elixir_compiler.beam         elixir_errors.beam           elixir_parser.beam           elixir_tracker.beam
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 17, 2013

Member

/c:/dev/elixir/elixir/bin/../lib this is supposed to be correct (unless Windows is choking on the ..). ERL_LIBS works by automatically adding everything in */ebin to the load path, that's why it is expected to work. :)

Member

josevalim commented Jun 17, 2013

/c:/dev/elixir/elixir/bin/../lib this is supposed to be correct (unless Windows is choking on the ..). ERL_LIBS works by automatically adding everything in */ebin to the load path, that's why it is expected to work. :)

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 17, 2013

Contributor

Aha!! I found out a while ago that on windows things like erl -pa lib/*/ebin do not work on windows... I solved this by adding -pa lib/xxx/ebin for every individual folder.
Somehow all of this does not make sense, as @AlbertMoscow had no problems compiling... Maybe we should wait for his input?
Another idea: maybe we can setup a screen sharing session or something similar tomorrow, as I feel this might go a bit quicker; I can use Skype or Join.me or something similar....

Contributor

ToJans commented Jun 17, 2013

Aha!! I found out a while ago that on windows things like erl -pa lib/*/ebin do not work on windows... I solved this by adding -pa lib/xxx/ebin for every individual folder.
Somehow all of this does not make sense, as @AlbertMoscow had no problems compiling... Maybe we should wait for his input?
Another idea: maybe we can setup a screen sharing session or something similar tomorrow, as I feel this might go a bit quicker; I can use Skype or Join.me or something similar....

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 18, 2013

Contributor

@ToJans, hi! I assume, you have msysgit (Git for Windows) installed on your computer along with MinGW and MSYS
(if not, please, download it from here: http://git-scm.com/downloads).

Here is my approach of how to make test the master branch of Elixir on Windows:

  1. Run "Git Bash" and type in this:

$ pwd

$ git clone https://github.com/elixir-lang/elixir.git --branch master

The first command (pwd) shows your working directory.

The second command clones master branch into 'elixir' folder in your working directory. If the folder doesn't exist, it will be created. So before running the second command, please check, if the folder 'elixir' exists in your working directory and delete it, if it's there, to start all from scratch.

In my case the output of pwd command is "/u".

  1. Run "MinGW Shell" and type in this:

$ cd u:

$ cd elixir/

$ make test

That's all!

Contributor

AlbertMoscow commented Jun 18, 2013

@ToJans, hi! I assume, you have msysgit (Git for Windows) installed on your computer along with MinGW and MSYS
(if not, please, download it from here: http://git-scm.com/downloads).

Here is my approach of how to make test the master branch of Elixir on Windows:

  1. Run "Git Bash" and type in this:

$ pwd

$ git clone https://github.com/elixir-lang/elixir.git --branch master

The first command (pwd) shows your working directory.

The second command clones master branch into 'elixir' folder in your working directory. If the folder doesn't exist, it will be created. So before running the second command, please check, if the folder 'elixir' exists in your working directory and delete it, if it's there, to start all from scratch.

In my case the output of pwd command is "/u".

  1. Run "MinGW Shell" and type in this:

$ cd u:

$ cd elixir/

$ make test

That's all!

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

This is with MSysGit
image

And his is with c:\mingw\msys\1.0\Msys.bat

image

Contributor

ToJans commented Jun 18, 2013

This is with MSysGit
image

And his is with c:\mingw\msys\1.0\Msys.bat

image

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

Could it be a mingw version issue? Btw, @ToJans I have sent you an e-mail regarding screen sharing session. Did you get it? :)

Member

josevalim commented Jun 18, 2013

Could it be a mingw version issue? Btw, @ToJans I have sent you an e-mail regarding screen sharing session. Did you get it? :)

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

Btw, regarding which path separator we should use, I found this on Stack Overflow.

Member

josevalim commented Jun 18, 2013

Btw, regarding which path separator we should use, I found this on Stack Overflow.

@dch

This comment has been minimized.

Show comment
Hide comment
@dch

dch Jun 18, 2013

Contributor

Just adding me in to keep track of this issue. Note that cygwin returns $OSTYPE=cygwin as well.

Also for the various NIFs that are used (e.g. exdoc's sundown dependency) we can expect different behaviour depending on what compiler is used (gcc / mingw chain, gcc / cygwin, and the more common MS VC++ under cmd.exe).

Contributor

dch commented Jun 18, 2013

Just adding me in to keep track of this issue. Note that cygwin returns $OSTYPE=cygwin as well.

Also for the various NIFs that are used (e.g. exdoc's sundown dependency) we can expect different behaviour depending on what compiler is used (gcc / mingw chain, gcc / cygwin, and the more common MS VC++ under cmd.exe).

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

Elixir should be compiling on MinGW after this commit. @AlbertMoscow, could you please you can still compile Elixir? Since it already worked for you, I want to make sure it isn't broken after those latest changes.

Member

josevalim commented Jun 18, 2013

Elixir should be compiling on MinGW after this commit. @AlbertMoscow, could you please you can still compile Elixir? Since it already worked for you, I want to make sure it isn't broken after those latest changes.

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 18, 2013

Contributor

@josevalim, sure! BTW, one more failure was eliminated. :)

my1

my2

my3

my4

my5

Contributor

AlbertMoscow commented Jun 18, 2013

@josevalim, sure! BTW, one more failure was eliminated. :)

my1

my2

my3

my4

my5

@AlbertMoscow

This comment has been minimized.

Show comment
Hide comment
@AlbertMoscow

AlbertMoscow Jun 18, 2013

Contributor

This is an output for "make compile" after "make clean" command:

tovmasyan@input255 /u/elixir
$ make clean
==> elixir (clean)
rm -rf ebin
rm -rf lib//ebin
rm -rf lib/
/test/tmp
rm -rf lib/mix/test/fixtures/git_repo
rm -rf lib/_/tmp
rm -rf lib/elixir/src/elixir.app.src
rm -rf lib/elixir/src/__lexer.erl
rm -rf lib/elixir/src/*_parser.erl
rm -rf lib/elixir/test/ebin

tovmasyan@input255 /u/elixir
$ make compile
==> elixir (compile)
Compiled src/elixir_parser.yrl
Compiled src/elixir_clauses.erl
Compiled src/elixir_aliases.erl
Compiled src/elixir.erl
Compiled src/elixir_code_server.erl
Compiled src/elixir_compiler.erl
Compiled src/elixir_def.erl
Compiled src/elixir_def_defaults.erl
Compiled src/elixir_def_local.erl
Compiled src/elixir_def_overridable.erl
Compiled src/elixir_errors.erl
Compiled src/elixir_dispatch.erl
Compiled src/elixir_import.erl
Compiled src/elixir_literal.erl
Compiled src/elixir_interpolation.erl
Compiled src/elixir_macros.erl
Compiled src/elixir_module.erl
Compiled src/elixir_partials.erl
Compiled src/elixir_quote.erl
Compiled src/elixir_scope.erl
Compiled src/elixir_sup.erl
Compiled src/elixir_tracker.erl
Compiled src/elixir_tokenizer.erl
Compiled src/elixir_translator.erl
Compiled src/elixir_tree_helpers.erl
Compiled src/elixir_try.erl
Compiled src/elixir_parser.erl
==> bootstrap (compile)
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/record.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/binary/inspect.ex
Compiled lib/elixir/lib/binary/chars.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel/record_rewriter.ex
Compiled lib/elixir/lib/module/dispatch_tracker.ex
==> kernel (compile)
Compiled lib/elixir/lib/application/behaviour.ex
Compiled lib/elixir/lib/behaviour.ex
Compiled lib/elixir/lib/access.ex
Compiled lib/elixir/lib/binary/chars.ex
Compiled lib/elixir/lib/bitwise.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/binary/inspect.ex
Compiled lib/elixir/lib/dict.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/gen_event/behaviour.ex
Compiled lib/elixir/lib/gen_server/behaviour.ex
Compiled lib/elixir/lib/hash_dict.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/kernel/parallel_require.ex
Compiled lib/elixir/lib/kernel/record_rewriter.ex
Compiled lib/elixir/lib/kernel/special_forms.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/list_dict.ex
Compiled lib/elixir/lib/list/chars.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/module/dispatch_tracker.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/node.ex
Compiled lib/elixir/lib/option_parser.ex
Compiled lib/elixir/lib/port.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/process.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/range.ex
Compiled lib/elixir/lib/record.ex
Compiled lib/elixir/lib/record/extractor.ex
Compiled lib/elixir/lib/regex.ex
Compiled lib/elixir/lib/io/ansi.ex
Compiled lib/elixir/lib/string.ex
Compiled lib/elixir/lib/file.ex
Compiled lib/elixir/lib/supervisor/behaviour.ex
Compiled lib/elixir/lib/tuple.ex
Compiled lib/elixir/lib/uri.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/uri/parser.ex
Compiled lib/elixir/lib/uri/http.ex
Compiled lib/elixir/lib/uri/https.ex
Compiled lib/elixir/lib/uri/ftp.ex
Compiled lib/elixir/lib/uri/ldap.ex
Compiled lib/elixir/lib/uri/sftp.ex
Compiled lib/elixir/lib/uri/tftp.ex
make[1]: Entering directory /u/elixir' ==> unicode (compile) This step can take up to a minute to compile in order to embed the Unicode database Compiled lib/elixir/priv/unicode.ex make[1]: Leaving directory/u/elixir'
==> elixir (compile)
==> eex (compile)
Compiled lib/eex/lib/eex/compiler.ex
Compiled lib/eex/lib/eex.ex
Compiled lib/eex/lib/eex/engine.ex
Compiled lib/eex/lib/eex/smart_engine.ex
Compiled lib/eex/lib/eex/tokenizer.ex
==> mix (compile)
Compiled lib/mix/lib/mix/archive.ex
Compiled lib/mix/lib/mix.ex
Compiled lib/mix/lib/mix/cli.ex
Compiled lib/mix/lib/mix/deps/converger.ex
Compiled lib/mix/lib/mix/deps/lock.ex
Compiled lib/mix/lib/mix/deps.ex
Compiled lib/mix/lib/mix/deps/retriever.ex
Compiled lib/mix/lib/mix/generator.ex
Compiled lib/mix/lib/mix/local.ex
Compiled lib/mix/lib/mix/exceptions.ex
Compiled lib/mix/lib/mix/rebar.ex
Compiled lib/mix/lib/mix/scm.ex
Compiled lib/mix/lib/mix/scm/path.ex
Compiled lib/mix/lib/mix/scm/git.ex
Compiled lib/mix/lib/mix/shell.ex
Compiled lib/mix/lib/mix/shell/io.ex
Compiled lib/mix/lib/mix/shell/process.ex
Compiled lib/mix/lib/mix/sup.ex
Compiled lib/mix/lib/mix/project.ex
Compiled lib/mix/lib/mix/server.ex
Compiled lib/mix/lib/mix/task.ex
u:/elixir/lib/mix/lib/mix/tasks/archive.ex:25: variable argv is unused
Compiled lib/mix/lib/mix/tasks/archive.ex
Compiled lib/mix/lib/mix/tasks/clean.ex
Compiled lib/mix/lib/mix/tasks/app.start.ex
Compiled lib/mix/lib/mix/tasks/compile.app.ex
Compiled lib/mix/lib/mix/tasks/compile.elixir.ex
Compiled lib/mix/lib/mix/tasks/compile.ex
Compiled lib/mix/lib/mix/tasks/compile.leex.ex
Compiled lib/mix/lib/mix/tasks/compile.erlang.ex
Compiled lib/mix/lib/mix/tasks/compile.yecc.ex
Compiled lib/mix/lib/mix/tasks/deps.check.ex
Compiled lib/mix/lib/mix/tasks/deps.clean.ex
Compiled lib/mix/lib/mix/tasks/deps.compile.ex
Compiled lib/mix/lib/mix/tasks/deps.ex
Compiled lib/mix/lib/mix/tasks/deps.get.ex
Compiled lib/mix/lib/mix/tasks/deps.loadpaths.ex
Compiled lib/mix/lib/mix/tasks/deps.unlock.ex
Compiled lib/mix/lib/mix/tasks/deps.update.ex
Compiled lib/mix/lib/mix/tasks/do.ex
Compiled lib/mix/lib/mix/tasks/help.ex
Compiled lib/mix/lib/mix/tasks/iex.ex
Compiled lib/mix/lib/mix/tasks/escriptize.ex
Compiled lib/mix/lib/mix/tasks/loadpaths.ex
Compiled lib/mix/lib/mix/tasks/local.ex
Compiled lib/mix/lib/mix/tasks/local.install.ex
Compiled lib/mix/lib/mix/tasks/local.rebar.ex
Compiled lib/mix/lib/mix/tasks/local.uninstall.ex
Compiled lib/mix/lib/mix/tasks/run.ex
Compiled lib/mix/lib/mix/tasks/test.ex
Compiled lib/mix/lib/mix/utils.ex
Compiled lib/mix/lib/mix/tasks/new.ex
Compiled lib/mix/lib/mix/version.ex
Generated mix.app
==> ex_unit (compile)
Compiled lib/ex_unit/lib/ex_unit.ex
Compiled lib/ex_unit/lib/ex_unit/assertions.ex
Compiled lib/ex_unit/lib/ex_unit/callbacks.ex
Compiled lib/ex_unit/lib/ex_unit/case.ex
Compiled lib/ex_unit/lib/ex_unit/case_template.ex
Compiled lib/ex_unit/lib/ex_unit/capture_io.ex
Compiled lib/ex_unit/lib/ex_unit/formatter.ex
Compiled lib/ex_unit/lib/ex_unit/doc_test.ex
Compiled lib/ex_unit/lib/ex_unit/cli_formatter.ex
Compiled lib/ex_unit/lib/ex_unit/server.ex
Compiled lib/ex_unit/lib/ex_unit/runner.ex
Compiled lib/ex_unit/lib/ex_unit/sup.ex
Generated ex_unit.app
Generated eex.app
==> iex (compile)
Compiled lib/iex/lib/iex.ex
Compiled lib/iex/lib/iex/cli.ex
Compiled lib/iex/lib/iex/autocomplete.ex
Compiled lib/iex/lib/iex/history.ex
Compiled lib/iex/lib/iex/helpers.ex
Compiled lib/iex/lib/iex/introspection.ex
Compiled lib/iex/lib/iex/remsh.ex
Compiled lib/iex/lib/iex/options.ex
Compiled lib/iex/lib/iex/server.ex
Generated iex.app

tovmasyan@input255 /u/elixir
$

You can notice a warning "variable argv is unused" in line:

u:/elixir/lib/mix/lib/mix/tasks/archive.ex:25: variable argv is unused

Contributor

AlbertMoscow commented Jun 18, 2013

This is an output for "make compile" after "make clean" command:

tovmasyan@input255 /u/elixir
$ make clean
==> elixir (clean)
rm -rf ebin
rm -rf lib//ebin
rm -rf lib/
/test/tmp
rm -rf lib/mix/test/fixtures/git_repo
rm -rf lib/_/tmp
rm -rf lib/elixir/src/elixir.app.src
rm -rf lib/elixir/src/__lexer.erl
rm -rf lib/elixir/src/*_parser.erl
rm -rf lib/elixir/test/ebin

tovmasyan@input255 /u/elixir
$ make compile
==> elixir (compile)
Compiled src/elixir_parser.yrl
Compiled src/elixir_clauses.erl
Compiled src/elixir_aliases.erl
Compiled src/elixir.erl
Compiled src/elixir_code_server.erl
Compiled src/elixir_compiler.erl
Compiled src/elixir_def.erl
Compiled src/elixir_def_defaults.erl
Compiled src/elixir_def_local.erl
Compiled src/elixir_def_overridable.erl
Compiled src/elixir_errors.erl
Compiled src/elixir_dispatch.erl
Compiled src/elixir_import.erl
Compiled src/elixir_literal.erl
Compiled src/elixir_interpolation.erl
Compiled src/elixir_macros.erl
Compiled src/elixir_module.erl
Compiled src/elixir_partials.erl
Compiled src/elixir_quote.erl
Compiled src/elixir_scope.erl
Compiled src/elixir_sup.erl
Compiled src/elixir_tracker.erl
Compiled src/elixir_tokenizer.erl
Compiled src/elixir_translator.erl
Compiled src/elixir_tree_helpers.erl
Compiled src/elixir_try.erl
Compiled src/elixir_parser.erl
==> bootstrap (compile)
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/record.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/binary/inspect.ex
Compiled lib/elixir/lib/binary/chars.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel/record_rewriter.ex
Compiled lib/elixir/lib/module/dispatch_tracker.ex
==> kernel (compile)
Compiled lib/elixir/lib/application/behaviour.ex
Compiled lib/elixir/lib/behaviour.ex
Compiled lib/elixir/lib/access.ex
Compiled lib/elixir/lib/binary/chars.ex
Compiled lib/elixir/lib/bitwise.ex
Compiled lib/elixir/lib/code.ex
Compiled lib/elixir/lib/binary/inspect.ex
Compiled lib/elixir/lib/dict.ex
Compiled lib/elixir/lib/enum.ex
Compiled lib/elixir/lib/gen_event/behaviour.ex
Compiled lib/elixir/lib/gen_server/behaviour.ex
Compiled lib/elixir/lib/hash_dict.ex
Compiled lib/elixir/lib/exception.ex
Compiled lib/elixir/lib/io.ex
Compiled lib/elixir/lib/kernel/cli.ex
Compiled lib/elixir/lib/kernel/error_handler.ex
Compiled lib/elixir/lib/kernel/parallel_compiler.ex
Compiled lib/elixir/lib/kernel.ex
Compiled lib/elixir/lib/kernel/parallel_require.ex
Compiled lib/elixir/lib/kernel/record_rewriter.ex
Compiled lib/elixir/lib/kernel/special_forms.ex
Compiled lib/elixir/lib/keyword.ex
Compiled lib/elixir/lib/kernel/typespec.ex
Compiled lib/elixir/lib/list.ex
Compiled lib/elixir/lib/list_dict.ex
Compiled lib/elixir/lib/list/chars.ex
Compiled lib/elixir/lib/macro/env.ex
Compiled lib/elixir/lib/macro.ex
Compiled lib/elixir/lib/module/dispatch_tracker.ex
Compiled lib/elixir/lib/module.ex
Compiled lib/elixir/lib/node.ex
Compiled lib/elixir/lib/option_parser.ex
Compiled lib/elixir/lib/port.ex
Compiled lib/elixir/lib/path.ex
Compiled lib/elixir/lib/process.ex
Compiled lib/elixir/lib/protocol.ex
Compiled lib/elixir/lib/range.ex
Compiled lib/elixir/lib/record.ex
Compiled lib/elixir/lib/record/extractor.ex
Compiled lib/elixir/lib/regex.ex
Compiled lib/elixir/lib/io/ansi.ex
Compiled lib/elixir/lib/string.ex
Compiled lib/elixir/lib/file.ex
Compiled lib/elixir/lib/supervisor/behaviour.ex
Compiled lib/elixir/lib/tuple.ex
Compiled lib/elixir/lib/uri.ex
Compiled lib/elixir/lib/system.ex
Compiled lib/elixir/lib/uri/parser.ex
Compiled lib/elixir/lib/uri/http.ex
Compiled lib/elixir/lib/uri/https.ex
Compiled lib/elixir/lib/uri/ftp.ex
Compiled lib/elixir/lib/uri/ldap.ex
Compiled lib/elixir/lib/uri/sftp.ex
Compiled lib/elixir/lib/uri/tftp.ex
make[1]: Entering directory /u/elixir' ==> unicode (compile) This step can take up to a minute to compile in order to embed the Unicode database Compiled lib/elixir/priv/unicode.ex make[1]: Leaving directory/u/elixir'
==> elixir (compile)
==> eex (compile)
Compiled lib/eex/lib/eex/compiler.ex
Compiled lib/eex/lib/eex.ex
Compiled lib/eex/lib/eex/engine.ex
Compiled lib/eex/lib/eex/smart_engine.ex
Compiled lib/eex/lib/eex/tokenizer.ex
==> mix (compile)
Compiled lib/mix/lib/mix/archive.ex
Compiled lib/mix/lib/mix.ex
Compiled lib/mix/lib/mix/cli.ex
Compiled lib/mix/lib/mix/deps/converger.ex
Compiled lib/mix/lib/mix/deps/lock.ex
Compiled lib/mix/lib/mix/deps.ex
Compiled lib/mix/lib/mix/deps/retriever.ex
Compiled lib/mix/lib/mix/generator.ex
Compiled lib/mix/lib/mix/local.ex
Compiled lib/mix/lib/mix/exceptions.ex
Compiled lib/mix/lib/mix/rebar.ex
Compiled lib/mix/lib/mix/scm.ex
Compiled lib/mix/lib/mix/scm/path.ex
Compiled lib/mix/lib/mix/scm/git.ex
Compiled lib/mix/lib/mix/shell.ex
Compiled lib/mix/lib/mix/shell/io.ex
Compiled lib/mix/lib/mix/shell/process.ex
Compiled lib/mix/lib/mix/sup.ex
Compiled lib/mix/lib/mix/project.ex
Compiled lib/mix/lib/mix/server.ex
Compiled lib/mix/lib/mix/task.ex
u:/elixir/lib/mix/lib/mix/tasks/archive.ex:25: variable argv is unused
Compiled lib/mix/lib/mix/tasks/archive.ex
Compiled lib/mix/lib/mix/tasks/clean.ex
Compiled lib/mix/lib/mix/tasks/app.start.ex
Compiled lib/mix/lib/mix/tasks/compile.app.ex
Compiled lib/mix/lib/mix/tasks/compile.elixir.ex
Compiled lib/mix/lib/mix/tasks/compile.ex
Compiled lib/mix/lib/mix/tasks/compile.leex.ex
Compiled lib/mix/lib/mix/tasks/compile.erlang.ex
Compiled lib/mix/lib/mix/tasks/compile.yecc.ex
Compiled lib/mix/lib/mix/tasks/deps.check.ex
Compiled lib/mix/lib/mix/tasks/deps.clean.ex
Compiled lib/mix/lib/mix/tasks/deps.compile.ex
Compiled lib/mix/lib/mix/tasks/deps.ex
Compiled lib/mix/lib/mix/tasks/deps.get.ex
Compiled lib/mix/lib/mix/tasks/deps.loadpaths.ex
Compiled lib/mix/lib/mix/tasks/deps.unlock.ex
Compiled lib/mix/lib/mix/tasks/deps.update.ex
Compiled lib/mix/lib/mix/tasks/do.ex
Compiled lib/mix/lib/mix/tasks/help.ex
Compiled lib/mix/lib/mix/tasks/iex.ex
Compiled lib/mix/lib/mix/tasks/escriptize.ex
Compiled lib/mix/lib/mix/tasks/loadpaths.ex
Compiled lib/mix/lib/mix/tasks/local.ex
Compiled lib/mix/lib/mix/tasks/local.install.ex
Compiled lib/mix/lib/mix/tasks/local.rebar.ex
Compiled lib/mix/lib/mix/tasks/local.uninstall.ex
Compiled lib/mix/lib/mix/tasks/run.ex
Compiled lib/mix/lib/mix/tasks/test.ex
Compiled lib/mix/lib/mix/utils.ex
Compiled lib/mix/lib/mix/tasks/new.ex
Compiled lib/mix/lib/mix/version.ex
Generated mix.app
==> ex_unit (compile)
Compiled lib/ex_unit/lib/ex_unit.ex
Compiled lib/ex_unit/lib/ex_unit/assertions.ex
Compiled lib/ex_unit/lib/ex_unit/callbacks.ex
Compiled lib/ex_unit/lib/ex_unit/case.ex
Compiled lib/ex_unit/lib/ex_unit/case_template.ex
Compiled lib/ex_unit/lib/ex_unit/capture_io.ex
Compiled lib/ex_unit/lib/ex_unit/formatter.ex
Compiled lib/ex_unit/lib/ex_unit/doc_test.ex
Compiled lib/ex_unit/lib/ex_unit/cli_formatter.ex
Compiled lib/ex_unit/lib/ex_unit/server.ex
Compiled lib/ex_unit/lib/ex_unit/runner.ex
Compiled lib/ex_unit/lib/ex_unit/sup.ex
Generated ex_unit.app
Generated eex.app
==> iex (compile)
Compiled lib/iex/lib/iex.ex
Compiled lib/iex/lib/iex/cli.ex
Compiled lib/iex/lib/iex/autocomplete.ex
Compiled lib/iex/lib/iex/history.ex
Compiled lib/iex/lib/iex/helpers.ex
Compiled lib/iex/lib/iex/introspection.ex
Compiled lib/iex/lib/iex/remsh.ex
Compiled lib/iex/lib/iex/options.ex
Compiled lib/iex/lib/iex/server.ex
Generated iex.app

tovmasyan@input255 /u/elixir
$

You can notice a warning "variable argv is unused" in line:

u:/elixir/lib/mix/lib/mix/tasks/archive.ex:25: variable argv is unused

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

Right now I get 38 errors; the most of them are windows-file/path related, so we should probably implement different tests here, unless this is unexpected behavior?

Failures:

  1) test_absname_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:84

  2) test_absname_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:96

  3) test_expand_path_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:118

  4) test_expand_path_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:134

  5) test_argv (SystemTest)
     ** (SyntaxError) nofile:1: syntax error before: 'ERROR'
     stacktrace:

  6) test_at_exit (SystemTest)
     ** (ExUnit.ExpectationError)
                  expected: []
       to be equal to (==): '0\n'
     at test/elixir/system_test.exs:51

  7) test_path (Kernel.CLI.OptionParsingTest)
     ** (Protocol.UndefinedError) protocol Enumerable not implemented for nil
     at test/elixir/kernel/cli_test.exs:25

  8) test_possible_deadlock (Kernel.CLI.CompileTest)
     ** (ExUnit.AssertionError) expected foo.ex to miss module Bar
     at test/elixir/kernel/cli_test.exs:88

  9) test_rm_rf (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:772

  10) test_rm_rf! (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:842

  11) test_rm_rf_with_char_list (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:806

  12) test_rm_rf_with_file (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp","c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a"]}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp"]}
     at test/elixir/file_test.exs:826

  13) test_rm_rf_with_invalid (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,[]}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:836

  14) test_rm_rf_with_invalid! (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected File.Error exception but nothing was raised
     at test/elixir/file_test.exs:861

  15) test_rm_rf_with_symlink (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected false to be true
     at test/elixir/file_test.exs:794

  16) test_rmdir_with_file (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:751

  17) test_rmdir_with_file! (FileTest.Rm)
     ** (ExUnit.ExpectationError)
       expected error message: "could not remove directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: not a directory"
                     to match: "could not remove directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: I/O error"
     at test/elixir/file_test.exs:764

  18) test_mkdir_p_with_invalid_path (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:670

  19) test_mkdir_p_with_invalid_path! (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
       expected error message: "could not make directory (with -p) c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: not a directory"
                     to match: "could not make directory (with -p) c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: no such file or directory
"
     at test/elixir/file_test.exs:689

  20) test_mkdir_with_invalid_path (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:589

  21) test_mkdir_with_invalid_path! (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
       expected error message: "could not make directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: not a directory"
                     to match: "could not make directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: no such file or directory"
     at test/elixir/file_test.exs:608

  22) test_cp_r! (FileTest.Cp)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:347

  23) test_cp_r_with_dir_and_file_conflict (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:271

  24) test_cp_r_with_src_dir_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:188

  25) test_cp_r_with_src_dir_and_dest_dir_using_lists (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:288

  26) test_cp_r_with_src_dir_and_dest_file (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:232

  27) test_cp_r_with_src_dir_and_dest_unknown (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:247

  28) test_cp_r_with_src_dir_dot_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:215

  29) test_cp_r_with_src_file_and_dest_dir (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/file.txt"]}
     at test/elixir/file_test.exs:157

  30) test_cp_r_with_src_file_and_dest_file (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/sample.txt"]}
     at test/elixir/file_test.exs:141

  31) test_cp_r_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:169

  32) test_cp_r_with_src_with_file_conflict (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:305

  33) test_cp_r_with_src_with_file_conflict_callback (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:321

  34) test_cp_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:61

  35) test_invalid_cd (FileTest)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:1073

  36) test_invalid_cd! (FileTest)
     ** (ExUnit.ExpectationError)
       expected error message: "could not set current working directory to c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: not a directory"
                     to match: "could not set current working directory to c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: no such file or direct
ory"
     at test/elixir/file_test.exs:1078

  37) test_touch_with_failure (FileTest)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:1122

  38) test_touch_with_failure! (FileTest)
     ** (ExUnit.ExpectationError)
       expected error message: "could not touch c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar: not a directory"
                     to match: "could not touch c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar: no such file or directory"
     at test/elixir/file_test.exs:1131

Finished in 8.4 seconds (5.1s on load, 3.2s on tests)
1086 tests, 38 failures
make: *** [test_kernel] Error 1
Contributor

ToJans commented Jun 18, 2013

Right now I get 38 errors; the most of them are windows-file/path related, so we should probably implement different tests here, unless this is unexpected behavior?

Failures:

  1) test_absname_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:84

  2) test_absname_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:96

  3) test_expand_path_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:118

  4) test_expand_path_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:134

  5) test_argv (SystemTest)
     ** (SyntaxError) nofile:1: syntax error before: 'ERROR'
     stacktrace:

  6) test_at_exit (SystemTest)
     ** (ExUnit.ExpectationError)
                  expected: []
       to be equal to (==): '0\n'
     at test/elixir/system_test.exs:51

  7) test_path (Kernel.CLI.OptionParsingTest)
     ** (Protocol.UndefinedError) protocol Enumerable not implemented for nil
     at test/elixir/kernel/cli_test.exs:25

  8) test_possible_deadlock (Kernel.CLI.CompileTest)
     ** (ExUnit.AssertionError) expected foo.ex to miss module Bar
     at test/elixir/kernel/cli_test.exs:88

  9) test_rm_rf (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:772

  10) test_rm_rf! (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:842

  11) test_rm_rf_with_char_list (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:806

  12) test_rm_rf_with_file (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp","c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a"]}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp"]}
     at test/elixir/file_test.exs:826

  13) test_rm_rf_with_invalid (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,[]}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:836

  14) test_rm_rf_with_invalid! (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected File.Error exception but nothing was raised
     at test/elixir/file_test.exs:861

  15) test_rm_rf_with_symlink (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected false to be true
     at test/elixir/file_test.exs:794

  16) test_rmdir_with_file (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:751

  17) test_rmdir_with_file! (FileTest.Rm)
     ** (ExUnit.ExpectationError)
       expected error message: "could not remove directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: not a directory"
                     to match: "could not remove directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: I/O error"
     at test/elixir/file_test.exs:764

  18) test_mkdir_p_with_invalid_path (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:670

  19) test_mkdir_p_with_invalid_path! (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
       expected error message: "could not make directory (with -p) c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: not a directory"
                     to match: "could not make directory (with -p) c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: no such file or directory
"
     at test/elixir/file_test.exs:689

  20) test_mkdir_with_invalid_path (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:589

  21) test_mkdir_with_invalid_path! (FileTest.Mkdir)
     ** (ExUnit.ExpectationError)
       expected error message: "could not make directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: not a directory"
                     to match: "could not make directory c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/test: no such file or directory"
     at test/elixir/file_test.exs:608

  22) test_cp_r! (FileTest.Cp)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:347

  23) test_cp_r_with_dir_and_file_conflict (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:271

  24) test_cp_r_with_src_dir_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:188

  25) test_cp_r_with_src_dir_and_dest_dir_using_lists (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:288

  26) test_cp_r_with_src_dir_and_dest_file (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:232

  27) test_cp_r_with_src_dir_and_dest_unknown (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:247

  28) test_cp_r_with_src_dir_dot_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:215

  29) test_cp_r_with_src_file_and_dest_dir (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/file.txt"]}
     at test/elixir/file_test.exs:157

  30) test_cp_r_with_src_file_and_dest_file (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/sample.txt"]}
     at test/elixir/file_test.exs:141

  31) test_cp_r_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:169

  32) test_cp_r_with_src_with_file_conflict (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:305

  33) test_cp_r_with_src_with_file_conflict_callback (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:321

  34) test_cp_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:61

  35) test_invalid_cd (FileTest)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:1073

  36) test_invalid_cd! (FileTest)
     ** (ExUnit.ExpectationError)
       expected error message: "could not set current working directory to c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: not a directory"
                     to match: "could not set current working directory to c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt: no such file or direct
ory"
     at test/elixir/file_test.exs:1078

  37) test_touch_with_failure (FileTest)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:1122

  38) test_touch_with_failure! (FileTest)
     ** (ExUnit.ExpectationError)
       expected error message: "could not touch c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar: not a directory"
                     to match: "could not touch c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/file.txt/bar: no such file or directory"
     at test/elixir/file_test.exs:1131

Finished in 8.4 seconds (5.1s on load, 3.2s on tests)
1086 tests, 38 failures
make: *** [test_kernel] Error 1
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

Tom, I don't think that's the desired behaviour. But I also wouldn't
necessarily blame the tests. It may be bugs in the implementation too. So
we'll need to look at them one by one!

Member

josevalim commented Jun 18, 2013

Tom, I don't think that's the desired behaviour. But I also wouldn't
necessarily blame the tests. It may be bugs in the implementation too. So
we'll need to look at them one by one!

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

Hey José,

These are my findings

1. Drive letters: 1-4

In windows there is no such thing as a root path for a machine, it is always a root path for a drive. You could strip the drive letter from the implementation, but I am wondering whether that is the right thing to do, as c:/blah is different from `d:/blah' (different devices), so I would assume altering the test would fix the problem here.

2. Error EnotDir instead of EIO: 23-30,35,37

These are probably based on the fact that {:error,:enoent}is received, and the expected value is {:error,:enotdir}, so if you fix the first, the rest will probably be easy; once again I have no idea whether this is an implementation error, a platform difference, or the need for platform-specific tests. If we decide the implementation should capture & translate the output, this should be easy to fix.

3. Slightly different errormessage: 36,38

This is about a different expected literal:
returned: /fixtures/file.txt/bar: not a directory
expected:/fixtures/file.txt/bar: no such file or directory
Once again this is one that can easily be fixed in the implementation.

If you can tell me what you prefer, I can fix these issues.

T.

Contributor

ToJans commented Jun 18, 2013

Hey José,

These are my findings

1. Drive letters: 1-4

In windows there is no such thing as a root path for a machine, it is always a root path for a drive. You could strip the drive letter from the implementation, but I am wondering whether that is the right thing to do, as c:/blah is different from `d:/blah' (different devices), so I would assume altering the test would fix the problem here.

2. Error EnotDir instead of EIO: 23-30,35,37

These are probably based on the fact that {:error,:enoent}is received, and the expected value is {:error,:enotdir}, so if you fix the first, the rest will probably be easy; once again I have no idea whether this is an implementation error, a platform difference, or the need for platform-specific tests. If we decide the implementation should capture & translate the output, this should be easy to fix.

3. Slightly different errormessage: 36,38

This is about a different expected literal:
returned: /fixtures/file.txt/bar: not a directory
expected:/fixtures/file.txt/bar: no such file or directory
Once again this is one that can easily be fixed in the implementation.

If you can tell me what you prefer, I can fix these issues.

T.

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

Regarding 2, there are many places in file.ex where we are expecting for a { :error, :enoent }. I assume we should update some of those function to also expect for a { :error, :enotdir }. This should allow a good part of the tests to pass.

Regarding 3, we should change the test to many on any of those messages.

Regarding 1, I am not sure how to proceed too. :)

Member

josevalim commented Jun 18, 2013

Regarding 2, there are many places in file.ex where we are expecting for a { :error, :enoent }. I assume we should update some of those function to also expect for a { :error, :enotdir }. This should allow a good part of the tests to pass.

Regarding 3, we should change the test to many on any of those messages.

Regarding 1, I am not sure how to proceed too. :)

@edgurgel

This comment has been minimized.

Show comment
Hide comment
@edgurgel

edgurgel Jun 18, 2013

Contributor

About 1:

At least erlang has some support for drives: http://www.erlang.org/doc/man/file.html#get_cwd-1

Contributor

edgurgel commented Jun 18, 2013

About 1:

At least erlang has some support for drives: http://www.erlang.org/doc/man/file.html#get_cwd-1

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

I would like to know whether the way I implemented my changes represent the best way to verify, or is there a better construct to follow in Elixir: ToJans@11ebcc2

Contributor

ToJans commented Jun 18, 2013

I would like to know whether the way I implemented my changes represent the best way to verify, or is there a better construct to follow in Elixir: ToJans@11ebcc2

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

Could you take another look please (especially about the duplication of is_io_error? ; I 'd assume there is no other way if you want to keep them private?
ToJans@d5388ef

Contributor

ToJans commented Jun 18, 2013

Could you take another look please (especially about the duplication of is_io_error? ; I 'd assume there is no other way if you want to keep them private?
ToJans@d5388ef

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

Pull request #1277 reduces the errors to 32 failures.

Contributor

ToJans commented Jun 18, 2013

Pull request #1277 reduces the errors to 32 failures.

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

I pushed another commit that must have reduced the number of failures more. :)

Member

josevalim commented Jun 18, 2013

I pushed another commit that must have reduced the number of failures more. :)

@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

26 errors

Failures:

  1) test_absname_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:84

  2) test_absname_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:96

  3) test_expand_path_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:118

  4) test_expand_path_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:134

  5) test_argv (SystemTest)
     ** (SyntaxError) nofile:1: syntax error before: 'ERROR'
     stacktrace:

  6) test_at_exit (Kernel.CLI.AtExitTest)
     ** (ExUnit.ExpectationError)
                  expected: 'goodbye '
       to be equal to (==): 'goodbye cruel world with status 0\n'
     at test/elixir/kernel/cli_test.exs:39

  7) test_possible_deadlock (Kernel.CLI.CompileTest)
     ** (ExUnit.AssertionError) expected foo.ex to miss module Bar
     at test/elixir/kernel/cli_test.exs:88

  8) test_rm_rf (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:784

  9) test_rm_rf! (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:854

  10) test_rm_rf_with_char_list (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:818

  11) test_rm_rf_with_file (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp","c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a"]}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp"]}
     at test/elixir/file_test.exs:838

  12) test_rm_rf_with_invalid (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,[]}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:848

  13) test_rm_rf_with_invalid! (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected File.Error exception but nothing was raised
     at test/elixir/file_test.exs:873

  14) test_rm_rf_with_symlink (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected false to be true
     at test/elixir/file_test.exs:806

  15) test_cp_r! (FileTest.Cp)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:348

  16) test_cp_r_with_src_dir_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:189

  17) test_cp_r_with_src_dir_and_dest_dir_using_lists (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:289

  18) test_cp_r_with_src_dir_and_dest_unknown (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:248

  19) test_cp_r_with_src_dir_dot_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:216

  20) test_cp_r_with_src_file_and_dest_dir (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/file.txt"]}
     at test/elixir/file_test.exs:158

  21) test_cp_r_with_src_file_and_dest_file (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/sample.txt"]}
     at test/elixir/file_test.exs:142

  22) test_cp_r_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:170

  23) test_cp_r_with_src_with_file_conflict (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:306

  24) test_cp_r_with_src_with_file_conflict_callback (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:322

  25) test_cp_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:62

  26) test_touch_with_failure (FileTest)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:1139

Finished in 8.3 seconds (5.0s on load, 3.2s on tests)
1091 tests, 26 failures
make: *** [test_kernel] Error 1
Contributor

ToJans commented Jun 18, 2013

26 errors

Failures:

  1) test_absname_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:84

  2) test_absname_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:96

  3) test_expand_path_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:118

  4) test_expand_path_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:134

  5) test_argv (SystemTest)
     ** (SyntaxError) nofile:1: syntax error before: 'ERROR'
     stacktrace:

  6) test_at_exit (Kernel.CLI.AtExitTest)
     ** (ExUnit.ExpectationError)
                  expected: 'goodbye '
       to be equal to (==): 'goodbye cruel world with status 0\n'
     at test/elixir/kernel/cli_test.exs:39

  7) test_possible_deadlock (Kernel.CLI.CompileTest)
     ** (ExUnit.AssertionError) expected foo.ex to miss module Bar
     at test/elixir/kernel/cli_test.exs:88

  8) test_rm_rf (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:784

  9) test_rm_rf! (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:854

  10) test_rm_rf_with_char_list (FileTest.Rm)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:818

  11) test_rm_rf_with_file (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp","c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a"]}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp"]}
     at test/elixir/file_test.exs:838

  12) test_rm_rf_with_invalid (FileTest.Rm)
     ** (ExUnit.ExpectationError)
                  expected: {:ok,[]}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:848

  13) test_rm_rf_with_invalid! (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected File.Error exception but nothing was raised
     at test/elixir/file_test.exs:873

  14) test_rm_rf_with_symlink (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected false to be true
     at test/elixir/file_test.exs:806

  15) test_cp_r! (FileTest.Cp)
     ** (File.CopyError) could not copy recursively from c:/dev/elixir/elixir/lib/elixir/test/elixir/fixtures/cp_r/. to c:/dev/elixir/elixir/lib/elixir/test/tmp
/tmp: I/O error
     at test/elixir/file_test.exs:348

  16) test_cp_r_with_src_dir_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:189

  17) test_cp_r_with_src_dir_and_dest_dir_using_lists (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:289

  18) test_cp_r_with_src_dir_and_dest_unknown (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:248

  19) test_cp_r_with_src_dir_dot_and_dest_dir (FileTest.Cp)
     ** (MatchError) no match of right hand side value: {:error,:eio}
     at test/elixir/file_test.exs:216

  20) test_cp_r_with_src_file_and_dest_dir (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/file.txt"]}
     at test/elixir/file_test.exs:158

  21) test_cp_r_with_src_file_and_dest_file (FileTest.Cp)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:eio}
       to be equal to (==): {:ok,["c:/dev/elixir/elixir/lib/elixir/test/tmp/sample.txt"]}
     at test/elixir/file_test.exs:142

  22) test_cp_r_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:170

  23) test_cp_r_with_src_with_file_conflict (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:306

  24) test_cp_r_with_src_with_file_conflict_callback (FileTest.Cp)
     ** (File.Error) could not write to file c:/dev/elixir/elixir/lib/elixir/test/tmp/tmp/a/1.txt: no such file or directory
     at test/elixir/file_test.exs:322

  25) test_cp_with_src_file_and_dest_unknown (FileTest.Cp)
     ** (ExUnit.AssertionError) Expected true to be false
     at test/elixir/file_test.exs:62

  26) test_touch_with_failure (FileTest)
     ** (ExUnit.ExpectationError)
                  expected: {:error,:enoent}
       to be equal to (==): {:error,:enotdir}
     at test/elixir/file_test.exs:1139

Finished in 8.3 seconds (5.0s on load, 3.2s on tests)
1091 tests, 26 failures
make: *** [test_kernel] Error 1
@ToJans

This comment has been minimized.

Show comment
Hide comment
@ToJans

ToJans Jun 18, 2013

Contributor

Down to 8 errors...

Failures:

  1) test_absname_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:84

  2) test_absname_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:96

  3) test_expand_path_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:118

  4) test_expand_path_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:134

  5) test_argv (SystemTest)
     ** (SyntaxError) nofile:1: syntax error before: 'ERROR'
     stacktrace:

  6) test_at_exit (Kernel.CLI.AtExitTest)
     ** (ExUnit.ExpectationError)
                  expected: 'goodbye '
       to be equal to (==): 'goodbye cruel world with status 0\n'
     at test/elixir/kernel/cli_test.exs:39

  7) test_possible_deadlock (Kernel.CLI.CompileTest)
     ** (ExUnit.AssertionError) expected foo.ex to miss module Bar
     at test/elixir/kernel/cli_test.exs:88

  8) test_rm_rf_with_symlink (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected false to be true
     at test/elixir/file_test.exs:774

Finished in 8.5 seconds (5.1s on load, 3.3s on tests)
1091 tests, 8 failures
make: *** [test_kernel] Error 1
Contributor

ToJans commented Jun 18, 2013

Down to 8 errors...

Failures:

  1) test_absname_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:84

  2) test_absname_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:96

  3) test_expand_path_with_binary (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: "c:/foo/bar"
       to be equal to (==): "/foo/bar"
     at test/elixir/path_test.exs:118

  4) test_expand_path_with_list (PathTest)
     ** (ExUnit.ExpectationError)
                  expected: 'c:/foo/bar'
       to be equal to (==): '/foo/bar'
     at test/elixir/path_test.exs:134

  5) test_argv (SystemTest)
     ** (SyntaxError) nofile:1: syntax error before: 'ERROR'
     stacktrace:

  6) test_at_exit (Kernel.CLI.AtExitTest)
     ** (ExUnit.ExpectationError)
                  expected: 'goodbye '
       to be equal to (==): 'goodbye cruel world with status 0\n'
     at test/elixir/kernel/cli_test.exs:39

  7) test_possible_deadlock (Kernel.CLI.CompileTest)
     ** (ExUnit.AssertionError) expected foo.ex to miss module Bar
     at test/elixir/kernel/cli_test.exs:88

  8) test_rm_rf_with_symlink (FileTest.Rm)
     ** (ExUnit.AssertionError) Expected false to be true
     at test/elixir/file_test.exs:774

Finished in 8.5 seconds (5.1s on load, 3.3s on tests)
1091 tests, 8 failures
make: *** [test_kernel] Error 1
@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

Since the history in this issue is long, I am closing it and opening a new one with the remaining failures. :) Thanks everyone!

Member

josevalim commented Jun 18, 2013

Since the history in this issue is long, I am closing it and opening a new one with the remaining failures. :) Thanks everyone!

@josevalim josevalim closed this Jun 18, 2013

@josevalim

This comment has been minimized.

Show comment
Hide comment
@josevalim

josevalim Jun 18, 2013

Member

I have opened #1280 .

Member

josevalim commented Jun 18, 2013

I have opened #1280 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment