-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
gradle: test task configuration changes #32108
Changes from all commits
752d51b
fdeaca7
3594d82
6d7ca2b
894cb70
1ae5667
0cae1ec
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,14 +23,6 @@ java { | |
} | ||
} | ||
|
||
|
||
test { | ||
testLogging { | ||
// TODO: Remove this after debugging | ||
showStandardStreams = true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've made it so that we log everything all the time. If it's too verbose we can edit the log4j config instead. |
||
} | ||
} | ||
|
||
project.configurations { | ||
// From `base-debezium`: | ||
testFixturesImplementation.extendsFrom implementation | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# currently limit the number of parallel threads until further investigation into the issues \ | ||
# where integration tests run into race conditions | ||
numberThreads=1 | ||
testExecutionConcurrency=1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# currently limit the number of parallel threads until further investigation into the issues \ | ||
# where integration tests run into race conditions | ||
numberThreads=1 | ||
testExecutionConcurrency=1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# currently limit the number of parallel threads until further investigation into the issues \ | ||
# where integration tests run into race conditions | ||
numberThreads=1 | ||
testExecutionConcurrency=1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# currently limit the number of parallel threads until further investigation into the issues \ | ||
# where integration tests run into race conditions | ||
numberThreads=1 | ||
testExecutionConcurrency=1 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
# currently limit the number of parallel threads until further investigation into the issues \ | ||
# where Snowflake will fail to login using config credentials | ||
numberThreads=4 | ||
parallelExecutionsPerThread=6 | ||
testExecutionConcurrency=4 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems OK in practice, despite it being a reduction. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. those tests will definitely be IO bound. I'd bump that up to 50... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. there's some limit (either in the CI runner networking, or in the snowflake warehouse) that we run into beyond a certain parallelism limit. The right number might be somewhere in between :P There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. we probably sbhould look at https://docs.snowflake.com/en/sql-reference/parameters#max-concurrency-level and increase that number on the snowflake side, if we're too low there. Doesn't change the costs of running queries |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -28,41 +28,26 @@ class AirbyteIntegrationTestJavaPlugin implements Plugin<Project> { | |
testClassesDirs = project.sourceSets.integrationTestJava.output.classesDirs | ||
classpath += project.sourceSets.integrationTestJava.runtimeClasspath | ||
|
||
useJUnitPlatform { | ||
// todo (cgardens) - figure out how to de-dupe this exclusion with the one in build.gradle. | ||
excludeTags 'log4j2-config', 'logger-client', 'cloud-storage' | ||
} | ||
|
||
useJUnitPlatform() | ||
testLogging() { | ||
events "passed", "failed", "started" | ||
exceptionFormat "full" | ||
// uncomment to get the full log output | ||
// showStandardStreams = true | ||
events 'skipped', 'started', 'passed', 'failed' | ||
exceptionFormat 'full' | ||
showStandardStreams = true | ||
} | ||
|
||
outputs.upToDateWhen { false } | ||
|
||
systemProperties = project.test.systemProperties | ||
maxParallelForks = project.test.maxParallelForks | ||
maxHeapSize = project.test.maxHeapSize | ||
|
||
systemProperties = [ | ||
// Allow tests to set @Execution(ExecutionMode.CONCURRENT) | ||
'junit.jupiter.execution.parallel.enabled': 'true', | ||
] | ||
|
||
// Limit the number of concurrent tests within a single test class. | ||
// See also usages of numberThreads. | ||
if (project.hasProperty('parallelExecutionsPerThread')) { | ||
int parallelExecutionsPerThread = project.property('parallelExecutionsPerThread').toString() as int | ||
systemProperties = systemProperties + [ | ||
'junit.jupiter.execution.parallel.config.strategy': 'fixed', | ||
'junit.jupiter.execution.parallel.config.fixed.parallelism': parallelExecutionsPerThread, | ||
] | ||
} | ||
// Always re-run integration tests no matter what. | ||
outputs.upToDateWhen { false } | ||
} | ||
integrationTestJava.configure { | ||
mustRunAfter project.tasks.named('check') | ||
dependsOn project.tasks.matching { it.name == 'assemble' } | ||
} | ||
project.tasks.named('build').configure { | ||
dependsOn integrationTestJava | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I made this task, and its python equivalent, required 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.
These tasks were not doing anything. We don't have any of these junit tags defined anywhere. Presumably, this is a legacy from before the platform was spun out of this repo.