-
Notifications
You must be signed in to change notification settings - Fork 243
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
[QE] Compactify e2e tests #3167
Conversation
Does it make sense keep the clicumber integrated code under e2e? WDYT? |
@adrianriobo , I moved it directly into EDIT: It's in |
bd7da7f
to
16b5ffc
Compare
/retest |
1baf189
to
a0cd8c3
Compare
/test |
@anjannath: The
Use In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/retest |
@jsliacan pr needs rebase |
f98aa42
to
fa373dd
Compare
nice speedup for e2e, integration tests!
|
i guess these three things are tightly coupled and hard to split into individual commits without rewriting the |
End-to-end (e2e) tests use the link:http://github.com/code-ready/clicumber[Clicumber] package to provide basic functionality for testing CLI binaries. | ||
|
||
Clicumber allows running commands in a persistent shell instance (`bash`, `tcsh`, `zsh`, Command Prompt, or PowerShell), assert its outputs (standard output, standard error, or exit code), check configuration files, and so on. The general functionality of Clicumber is then extended by CodeReady Containers specific test code to cover the whole functionality of CodeReady Containers. | ||
End-to-end (e2e) tests borrow code from link:http://github.com/code-ready/clicumber[Clicumber] package to provide basic functionality for testing CLI binaries. This facilitates running commands in a persistent shell instance (`bash`, `tcsh`, `zsh`, Command Prompt, or PowerShell), assert its outputs (standard output, standard error, or exit code), check configuration files, and so on. The general functionality of Clicumber is then extended by CodeReady Containers specific test code to cover the whole functionality of CodeReady Containers. |
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.
Shouldn't we update /~https://github.com/code-ready/clicumber codebase to use latest version and then consume it as we are doing now?
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.
For easier maintenance etc., the idea was to include it on our side instead. I mention #3210 in the description above to hint at this.
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.
@jsliacan which mean we are not using /~https://github.com/code-ready/clicumber anymore?
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.
Correct, after this PR we won't be importing clicumber project.
fa373dd
to
b9cf606
Compare
better to exclude the |
39ea2ac
to
c820548
Compare
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: anjannath The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
When executing "crc setup --check-only" fails | ||
Then executing crc start command fails | ||
And executing single crc setup command succeeds | ||
|
||
@linux |
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.
Why we are removing this test?
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.
I removed it because it cannot run in parallel with the rest of the scenarios in the Feature. Tagging would make it hard to read & cluttered if I included it in the next Scenario. So it's going to go in the integration test. I'll list it in the issue of things to move to integration.
# Request start with monitoring stack | ||
* setting config property "enable-cluster-monitoring" to value "true" succeeds | ||
* setting config property "memory" to value "16000" succeeds | ||
Given executing crc setup command succeeds |
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.
Also now we are only testing if user provide correct mem value what about the error it display if user doesn't provide the correct mem like it use to be?
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.
there's a separate config.feature
and its covered there, so should be good i think
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.
@anjannath I don't see any config.feature
file, I think @jsliacan mentioned he will create separate task issue for those missing stuff. so once that in place we should take this PR in and iterate over.
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.
config.feature
exists from before, this was removed in an earlier iteration of the PR but the current PR branch doesn't remove that or am i missing something?
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.
Yes, I'll make an issue and it'll go into the config integration test. I don't think it's in the current config.feature
. It's not the most important testcase though and the minimum we declare should work is 14GiB (docs), so maybe I'll use this value instead of 16000 that we had.
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.
I updated the issue with both things @praveenkumar noticed: #3249 and altered the basic.feature and config.feature a little. I moved the "missing setup" scenario to config.feature (which will be replaced by an integration test) and cleaned up scenarios a little more in basic.feature
which will stay in e2e.
|
||
@darwin @linux @windows | ||
Scenario: CRC status and disk space check | ||
* stdout should match "(?s)(.*)oc login -u developer https:\/\/api\.crc\.testing:6443(.*)$" |
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.
what does *
means because some place you used And
and some place it is replaced by *
?
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.
Gherkin also supports using an asterisk (*) in place of any of the normal step keywords. This can be helpful when you have some steps that are effectively a list of things, so you can express it more like bullet points where otherwise the natural language of And etc might not read so elegantly.
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.
Yes yes, it's just a bullet point. I use them somewhere when it's an obvious "enumeration" of things to check. But it's just for fun in a way, And
would've worked just as well.
- include relevant clicumber code in this codebase, as suggested in crc-org#2538 and crc-org#3210 - update dependencies (cucumber/godog/...) - compactify features/scenarios to fit the cucumber paradigms
New changes are detected. LGTM label has been removed. |
This PR contains the following changes