-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Use CLIntegracon for Integration Tests #2371
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
Conversation
spec/integration.rb
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra blank line detected.
spec/integration.rb
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Align the parameters of a method call if they span more than one line.
|
@mrackwitz I love this! It will make this code much more maintainable. To merge this we need to:
Are xcodeproj diffs handles as they were before? Also I think that it would be nice if you could mention that the gem was inspired by CP. |
|
@irrationalfab
Tests are green now. (I was fixing up my commits for @houndci without flooding the commit history and a little error happened.)
Done.
Yeah, they should be. Xcode Projects are still converted to YAML on the file system, which will clean them up from IDs and ensure a fixed section order (for Ruby 1.8.7). I extracted this aspect into a separate file. (
No problem. Spoke already with @alloy about that, I will add there a hint in the README that it was inspired by CP and CP is using this gem, for sure. |
|
Looks ACE and this can be merged as it is for me. Before doing that I would like to point your attention to the following commits: Small but important optimization iirc: Allow to specify the runner and move the integration stuff to the integration repo so one can easily switch to the cocoapods installation on the system or to an alternative cocoapods implementation: |
|
👍
Don't worry about that branch, I fix it when I will come back to it (anyway the discussed commits don't belong to that patch). Thanks for the heads up auto the new specs! So other than the lazy format descriptions, that I wanted to point out so you can take note this can be merged. 👍 Ace work! |
|
@mrackwitz can we merge this? |
|
@irrationalfab: The CHANGELOG was in conflict. I have merged the master back and updated the gem, with the performance improvement. It should be ready to merge now. 👍 |
|
@mrackwitz Ace... Great work! Thank you for adventuring in the integration stuff 😂 |
Use CLIntegracon for Integration Tests
Inspired by the idea of the integration tests in CocoaPods, I wrote the gem CLIntegracon, which realizes a very similar concept, but usable for any CLI executable. As it keeps backwards-compatibility with the existing specs, there is no change required to them and it was easy to integrate it back.
It only even adds one requirement more, per executed command line: it looks for unexpected files, which are not configured as ignored and fails if there are any. All specs should pass.
The execution output has altered a tiny bit. (The printed command line doesn't carry the
$anymore.) But this is currently ignored anyways and the specs didn't match them, because there were issues with different output formatting on Travis as it seems from the comments given and kept inintegration.rb.