-
Notifications
You must be signed in to change notification settings - Fork 26
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
Remove redundant integration test runs #364
Remove redundant integration test runs #364
Conversation
…er in addition to actually using the encryptionCipher parameter
… triggering network requests
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.
LGTM
Reminder: On the last run integration tests had 64% instruction coverage and 39% branch coverage. After this lands those numbers should stay the same. |
For the dry-run aspect of this PR see testng-team/testng#1503. Updating to TestNG version 6.14 and using the |
a997bcb
to
b2fb2cd
Compare
@Parameters({"usingEncryption"}) | ||
public void beforeClass(@org.testng.annotations.Optional Boolean usingEncryption) throws IOException { | ||
@Parameters({"encryptionCipher"}) | ||
public EncryptedServerSideMultipartManagerSerializationIT(final @Optional String encryptionCipher) throws IOException { |
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.
A compilation-error
will be generated here since this integration-test
will mandatorily require invocation of the TestNG parameter encryptionCipher
Overview
Resolves #336 and adds a
it.dryrun
property that can be used to list the tests that would run with their respective TestNG params. Unfortunately it looks like TestNG doesn't completely support filtering a test suite by groups so we need to be more explicit about suite definition.Output of
it.dryrun
using currenttestng-it.xml
(with some fixes to allow it to be used withTestListingInterceptor
:Count of test cases that would run using new
testng-it.xml
:Lists for both are here. Note that the
dry-run-after
list is slightly inaccurate since it shows different values forencryptionCipher
. Other changes in this branch include usingencryptionCipher
so a dry-run listing ofmaster
would showAES128/CBC/PKCS5Padding
for all non-null ciphers in that list.Changes
usingEncryption
(boolean) to justencryptionCipher
(string). omission (null) disables encryptionIntegrationTestConfigContext
which handles the above@BeforeClass
with@Parameters
to test constructors with just@Parameters
. WheneverSkipException
was thrown orputDirectory
was called in a test which needed@Parameters
a minimal method was created for@BeforeClass
. The goal here was to make it safe to instantiate test classes without incurring side-effects.MantaClientDirectoriesIT
)<packages>
to<classes>
and target specific classes. I was going to use test groups for this but it seems like TestNG has trouble with mixing group filters with packages/classes (e.g. the comment intestng-it.xml
about how we can't use<groups><run><exclude>multipart</exclude></run></group>
it.dryrun
which can be used by the new interceptor. When this system property is truthy as defined byBooleanUtils#toBooleanObject
, i.e. the following are all true:y
,Y
,t
,T
,on
,ON
,yes
,YES
,true
,TRUE
and all the mixed-case versions thereofTestListingInterceptor
which can be used to collect suite definitions and disable actually running tests in the eventit.dryrun
is truthy