repro these test failures? #173

Closed
jonforums opened this Issue May 20, 2012 · 9 comments

Projects

None yet

3 participants

@jonforums
Contributor

From the cmake proto build with GCC 4.6.3, on a 32bit Ubuntu Server 12.04 VM running on VirtualBox in Win7 32bit, I get the following test fails:


jon@ubusvr:~/cdev/mruby-git$ git log -2 --oneline
c7db536 Merge branch 'master' into jonforums-mods/cmake
ec8f97d add "all" to test dependency
...
[ 92%] Generating mrbtest.rbtmp
[ 94%] Generating mrbtest.ctmp
[ 96%] Generating mrbtest.c
[ 98%] Building C object test/CMakeFiles/mrbtest.dir/driver.c.o
[100%] Building C object test/CMakeFiles/mrbtest.dir/mrbtest.c.o
Linking C executable mrbtest
[100%] Built target mrbtest
mrbtest - Embeddable Ruby Test

This is a very early version, please test and report errors.
Thanks :)

..........................................................................F.........................................................................................................X..XX.......X..................................................................................
Fail: BS Block [ruby-dev:31160] [No ISO]
Total: 271
OK: 270
KO: 1
Crash: 4
[100%] Built target test

These may be bogus system setup issues since I can't repro on Win7 or Arch w/GCC 4.7.0.

@matz
Member
matz commented May 21, 2012

I cannot reproduce the error on Ubuntu 12.04 without VM.
we need more info. In 21bd5d7, I add more description output.
can you retry?

@jonforums
Contributor

I don't believe the following results are valid because building/testing with the Makefile works OK.

I see that CMake caused mrbtest to be linked with -rdynamic that's not in the Makefile version, but I don't see why that would cause this issue.

I'll play with the CMake options more tomorrow, but does cd build && cmake .. && make all test pass on your Ubuntu 12.04?


jon@ubusvr:~/cdev/mruby-git$ git log -2 --oneline
df379a8 Merge branch 'master' into jonforums-mods/cmake
21bd5d7 print description on exceptions
...
[100%] Built target mrbtest
mrbtest - Embeddable Ruby Test

This is a very early version, please test and report errors.
Thanks :)

..........................................................................F.........................................................................................................X..XX.......X..................................................................................
Fail: BS Block [ruby-dev:31160] []
Error: Time.gm [15.2.19.6.2] => can't convert Array into Integer
Error: Time#mday [15.2.19.7.19] => can't convert Array into Integer
Error: Time#month [15.2.19.7.22] => can't convert Array into Integer
Error: Time#year [15.2.19.7.32] => can't convert Array into Integer
Total: 271
OK: 270
KO: 1
Crash: 4
[100%] Built target test
@matz
Member
matz commented May 21, 2012

Perhaps it's a cmake issue. Adding -rdynamic to the compiler/linker does not cause any problem on my Ubuntu 12.04 box. Weird.

@jonforums
Contributor

Weird is right since the same cmake recipe works on Arch and Windows (MSYS/MinGW, NMake, Visual Studio 10).

Two other ideas in addition to reviewing the cmake config:

  1. Ordering dependency on t/*.rb inclusion in generated mrbtest_irep[]? I couldn't find it after quickly scanning the tests.
  2. Bug in my cross-platform file concat tool? Someone please double check the simple C.
@bovi
Member
bovi commented May 23, 2012

Hi Jon, in the original Makefile the test environment was structured in a way that first test/assert.rb was added and then all test/t/* files followed afterwards. There is absolute no dependency between any test/t/.rb file. If there is then it is a bug. All test/t/.rb files are in opposite depending on test/assert.rb. In the past I try to set the order by using an underscore test/t/_assert.rb but that didn't seem to work under my Ubuntu system (under Mac OS X it was ok btw.). So I changed the merging of all test files into two steps. First assert.rb and then the rest.

Btw. due to the reason that only some test cases inside of time.rb fails at your place it is unlikely that it is an order thing. If the time.rb was merged before the dependencies then all test cases in this file should fail.

@matz
Member
matz commented May 23, 2012

It's caused by mrb_get_args(); I am working on it.

@jonforums
Contributor

@bovi thanks for the feedback. I also agree there's no ordering issue after I looked at the *.rbtmp and .ctmp files generated by both Makefile and CMake builds. I'm looking forward to trying Matz's mrb_get_args updates.

@matz matz closed this in ad9e841 May 23, 2012
@jonforums
Contributor

Nice. This squashed all of them except


jon@ubusvr:~/cdev/mruby-git$ git log -2 --oneline
34d9043 parser->colum number was wrong
c2a084d wrong number of arguments for self-assignments

...
[100%] Built target mrbtest
mrbtest - Embeddable Ruby Test

This is a very early version, please test and report errors.
Thanks :)

..........................................................................F..............................................................................................................................................................................................................................
Fail: BS Block [ruby-dev:31160] []
Total: 297
OK: 296
KO: 1
Crash: 0

Perhaps this is related to the newly discovered #193 so you can get a 2-for-1 again ;)

@matz
Member
matz commented May 25, 2012

#193 is mirb specific problem. I have no clue for this one yet.
But this is not related to the original one. Please resubmit.

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