-
Notifications
You must be signed in to change notification settings - Fork 7
Aruba should be up to date #26
Comments
The test suite is copied to each of the projects and it's not a real dependency (as in something which can be installed or is a git submodule), so it can be easily modified in one project and not the others. On the other hand, we definitely want to keep them the same as that's the whole purpose of the BDD test suite. I'd propose we update Aruba in one of the reference hook projects - either in Ruby (@gonzalo-bulnes) or Python (me or @w-vi). Ideally, new Aruba would mean just changes in how the test suite is written, not changes in the code of the actual hooks handler under test. Once we're able to get it passing, we would then take the changes made to the tests and port them to What do you think @gonzalo-bulnes, @netmilk? Gonzalo, would you like to pioneer the Aruba upgrade? |
👍 |
Hi everyone! Thoughts:
Yes, definitely. Any required change in the hook code should be regarded with great suspicion.
Sounds good to me 👍
Okay @honzajavorek I'll give it a try! : ) |
Aruba failures for versions >= 0.7.0 seem to be fixed by removing the @debug Cucumber tags. I am not sure what is the expected behaviour of these tags, but Aruba did undergo quite a few changes between v0.6.2 and v0.7.0 (refactoring and features). Using a local copy of Aruba allows to use 'git bisect' to discover exactly what change in Aruba started causing failures. From there is should be easier to figure out if the failure is related of a change in the @debug behaviour, a mistake in how we use it, or an Aruba bug (unlikely, but still possible). See apiaryio#26 Usage: # Clone Aruba in ../aruba git clone [email protected]:cucumber/aruba.git ../aruba # In order to test a specific version of Aruba, use tags: cd ../aruba git checkout v0.6.2 cd ../dredd-hooks-ruby bundle install && rake cucumber # is 'good' (green) with v0.6.2 # Speed up the discovery with 'git bisect': cd ../aruba git bisect start git bisect bad v0.7.0 git bisect good v0.6.2 # Repeat: cd ../dredd-hooks-ruby bundle install && rake cucumber # the features do pass or fail cd ../aruba git bisect good # resp. 'bad' if the DreddHooks features did fail # Until bisect stops pointing at the suspicious commit. git bisect reset # stop bisecting and restores everthing as it was
It seems that updating Aruba is going to be much simpler than I expected, in a nutshell:
The long story: I spent some time wandering around the Aruba docs, and wondering what exactly the The v0.7.0 release of Aruba introduced a lot of refactoring and features (more than I could fit in my head). That's when I went for Our test suite started failing when Aruba added support for a feature that uses an [...]
And the output should contain:
"""
Yay! Failed in ruby!
"""
expected "This is the debug launcher on STDOUT. If this output is unexpected, please check your setup.This is the debug launcher on STDERR. If this output is unexpected, please check your setup." to string includes: "Yay! Failed in ruby!" (RSpec::Expectations::ExpectationNotMetError) What I understand, is that Somehow it stayed in place, and did not cause any trouble (nor did anything at all - unless I'm missing something) until Aruba just decided to use the exact same tag name for a new feature of theirs. Removing the tag causes no harm to our test suite when using Aruba v0.6.2 and allows seamless updates up to v0.14.2 (the latest release of Aruba to date). I'm going to create a PR for this, and if the timeline/explanation makes sense to you @honzajavorek, I think we can go forward with the update! The spike is here for easier review : ) |
I don't know exactly what's the history behind the |
I'm not sure either, and I'm a bit confuse about both using First of all, the Besides, while I confirm that With that in mind, unless I am missing a benefit of making these details visible, I would not replace If debug is needed, however, I would definitely go with |
I think the only missing piece is then to ask @netmilk what was the original purpose of |
@gonzalo-bulnes @honzajavorek the |
Since Aruba v0.7.0, the @debug flag makes the test suite fail, and extra verbosity is not required for documentation purpose. For debuging purpose, use @announce. See also apiaryio/dredd-hooks-ruby#26
Hi @honzajavorek! Just waiting for you green light : ) |
I approve! Thanks! |
@ddelnano For info, we're moving to dredd-hooks-template : ) |
@gonzalo-bulnes just to be clear all we need to do is remove the |
Yes @ddelnano! I was also expecting a lot more than that -I thought that how Aruba handles output had changed over time- but it happens that removing the Notice that replacing It ended up being quick and easy : ) |
This is a tracking issue for porting the changes to each of the hook repositories: apiaryio/dredd-hooks-template#16 |
Please see this comment and the few next ones.
The text was updated successfully, but these errors were encountered: