ecukes / ecukes

Cucumber for Emacs
GNU General Public License v3.0
195 stars 26 forks source link

Wrong type argument: arrayp, nil #129

Closed ThibautVerron closed 10 years ago

ThibautVerron commented 10 years ago

When using the reporters magnars or spec, the summary report isn't displayed, and instead, one sees an error Wrong type argument: arrayp, nil.

It is a problem on several levels :

Am I missing something?

rejeep commented 10 years ago

Hi,

  1. Make sure you have the most recent version of Ecukes (cask update).
  2. What project are you using Ecukes for, so that I can try it out myself?
  3. The exit code should be 0 if all scenarios pass and 1 if any fails. If not, that is a bug.
  4. Do you only experience this with the reporters you mention?
  5. What happens if you run with the --debug option?
ThibautVerron commented 10 years ago

Hi,

  1. This is done (sorry I didn't mention it). The version is 20140114.435.
  2. This is the project : https://github.com/ThibautVerron/magma-mode At the moment some tests don't pass, so if you want to check the behavior with only successful tests, you can use --patterns basic. I just tried the magnars reporter on the ecukes project and it does work as expected, so it is probably indeed something in my project.
  3. Then it is a bug somewhere. :)
  4. I just tested again, landing, dot, progress and gangsta work fine.
  5. Nothing special happens with --debug.

Thank you

rejeep commented 10 years ago

The --debug flag should have given you a stacktrace. The issue is actually this empty feature file. If you remove that file, it works.

This is an Ecukes bug. I created an issue for it here: https://github.com/ecukes/ecukes/issues/130

Thanks for reporting!

ThibautVerron commented 10 years ago

Thank you very much!

About the --debug flag, removing the byte-compiled files in the ecukes install folder helps. After that, the error becomes ecukes-intro-header accessing a non-ecukes-intro and indeed you can obtain a full stacktrace with --debug.

It seems emacs won't bring up a stacktrace in case an error happens in a binary file. This may be a feature, otherwise, one would enter the debugger everytime he hits C-f at the end of a buffer with debug-on-error set to t?

rejeep commented 10 years ago

Ecukes has debug-on-error and debug-on-signal set to t, but Ecukes also has it's own debugger function that will run on an exception. Not sure about binary files.

Glad it worked out for you!