Skip to content
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

Clean up and speed up cucumber test suite #544

Merged
merged 25 commits into from
Mar 7, 2018
Merged

Clean up and speed up cucumber test suite #544

merged 25 commits into from
Mar 7, 2018

Conversation

mvz
Copy link
Contributor

@mvz mvz commented Mar 2, 2018

Summary

Remove slow and needless scenarios from our suite, and speed up some other slow scenarios.

Details

  • Remove scenarios related to developing Aruba. These should be covered in he README.md and CONTRIBUTING.md files.
  • Remove a scenario that demonstrates that a particular feature is not available in JRuby.
  • Speed up scenarios that wait for stuff to happen. These can be sped up by lowering the timeouts.
  • Fail-fast when attempting to run interactively with the in-process runner.
  • Allow non-integer values for timeouts in steps that set them.

Motivation and Context

Our test suite takes a long time on CRuby, and an insanely long time on JRuby.

How Has This Been Tested?

Some specs were added, plus Travis.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (cleanup of codebase withouth changing any existing functionality)
  • Update documentation

Checklist:

  • I've added tests for my code
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

@mvz
Copy link
Contributor Author

mvz commented Mar 2, 2018

I'm going to go through the entire suite using cucumber --format=usage and weed out all the slow steps.

mvz added 10 commits March 6, 2018 19:31
Something that doesn't work is a bug, not a feature.
The step names mentioning 'default executable' and 'default feature' are
unclear and therefore confusing. Better to write out the needed
executable and feature in place.
These instructions should not be part of the test suite but go
in CONTRIBUTING.md instead.
- Fix some typos and wording issues.
- Add developer instructions that were in the feature files before.
@mvz mvz force-pushed the cleanup-speedup branch from 576cd6f to d9b9076 Compare March 6, 2018 18:44
@mvz mvz force-pushed the cleanup-speedup branch from d9b9076 to b81e865 Compare March 6, 2018 19:08
@mvz mvz changed the title [WIP] Clean up and speed up cucumber test suite Clean up and speed up cucumber test suite Mar 6, 2018
The background section contained a step that was only relevant to some
of the scenarios. Distribute it where relevant instead.
@olleolleolle
Copy link
Contributor

All the commit messages are clear and distinct. Makes archaeology easier and reviewing simpler.

This attention to detail is a thing which keeps me around this project.

Thank you so much for making this improvement.

Copy link
Contributor

@olleolleolle olleolleolle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Travis has passed, I'd call this ready to go.

@mvz mvz merged commit e68d401 into master Mar 7, 2018
@mvz mvz deleted the cleanup-speedup branch March 7, 2018 11:06
@mvz
Copy link
Contributor Author

mvz commented Mar 7, 2018

🎉

This should really help with getting the features passing on JRuby, since they now actually seem to finish in time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants