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

[BEAM-6619] [BEAM-6593] update gradle to include all py3 it tests #8098

Merged
merged 1 commit into from Mar 26, 2019

Conversation

@Juta
Copy link
Contributor

commented Mar 20, 2019

This is is part of a series of PRs with goal to make Apache Beam PY3 compatible. The proposal with the outlined approach has been documented here: https://s.apache.org/beam-python-3.

This PR updates Gradle to run the IT tests the same way as for python 2 and skips the tests that have unsolved errors

Post-Commit Tests Status (on master branch)

Lang SDK Apex Dataflow Flink Gearpump Samza Spark
Go Build Status --- --- --- --- --- ---
Java Build Status Build Status Build Status Build Status
Build Status
Build Status
Build Status Build Status Build Status
Python Build Status
Build Status
--- Build Status
Build Status
Build Status --- --- ---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

@Juta

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2019

Run Python PostCommit

@Juta Juta force-pushed the Juta:it-tests branch from 424fe4b to 4db0f94 Mar 20, 2019

@Juta

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2019

Run Python PostCommit

@Juta

This comment has been minimized.

Copy link
Contributor Author

commented Mar 20, 2019

@tvalentyn
Copy link
Contributor

left a comment

Thanks, @Juta. Very exciting to see more tests added to Py3 suites. Left one comment.

@unittest.skipIf(sys.version_info[0] == 3 and
os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
'This test still needs to be fixed on Python 3'
'TODO: BEAM-6711')

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 21, 2019

Contributor

@pabloem - you could re-enable or add these tests in your changes for BEAM-6711.

@unittest.skipIf(sys.version_info[0] == 3 and
os.environ.get('RUN_SKIPPED_PY3_TESTS') != '1',
'This test still needs to be fixed on Python 3'
'TODO: BEAM-6711')

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 21, 2019

Contributor

@pabloem - you could re-enable these tests in your changes for BEAM-6711.

@@ -29,19 +29,9 @@ task postCommitIT(dependsOn: 'installGcpTest') {
doLast {
def batchTests = [
"apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it",
"apache_beam.examples.cookbook.bigquery_tornadoes_it_test:BigqueryTornadoesIT.test_bigquery_tornadoes_it",

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 21, 2019

Contributor

@Juta, why are we removing some tests here?

This comment has been minimized.

Copy link
@Juta

Juta Mar 22, 2019

Author Contributor

I noticed that all IT tests are only included in the DataflowRunner and not in the DirectRunner in the python 2 tests. I made the changes to exactly match the tests from python 2: https://github.com/apache/beam/blob/master/sdks/python/build.gradle#L101

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 22, 2019

Contributor

Ok, thank you. We can keep the subsets of Direct runner tests matching for the purposes of this PR between Py2 and Py3 suites.

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 22, 2019

Contributor

On the other hand, these subsets will become out of sync unless we find a way to put these tests in some" DirectRunner postcommit IT" suite, and run all tests from the suite.
@markflyhigh , do direct runner tests run in parallel to DF runner tests? Are there any concerns with running all ITs with direct runner in the postcommit?

This comment has been minimized.

Copy link
@Juta

Juta Mar 25, 2019

Author Contributor

Some tests do not run on the DirectRunner in py2 and py3 because of an issue that @pabloem recently pointed out in dev@beam.apache.org:
"The DirectRunner does not seem to support RuntimeValueProvider. Is there a suggestion for DirectRunner pipelines to access arguments passed in as pipeline options(but not necessarily passed explicitly by users) at pipeline execution time? ... I'm working on a transform that writes to big query, and table destinations can come in the form "dataset.table", or "project:dataset.table". Because these are parsed at runtime (destinations are dynamic), the ptransform checks if a project was provided in pipelineoptions via value providers."

This comment has been minimized.

Copy link
@pabloem

pabloem Mar 25, 2019

Member

Sorry about the trouble, but this will be fixed by #8093

This comment has been minimized.

Copy link
@pabloem

pabloem Mar 25, 2019

Member

And furthermore, I did not realize these tests were broken because they werent running on DirectRunner, so I see the value of having at least one or two BQIO tests on Directrunner.

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 26, 2019

Contributor

Good point. I think unless there are specific reasons not to run some ITs on direct runner, we should run them all in postcommit suite.

This comment has been minimized.

Copy link
@tvalentyn

tvalentyn Mar 26, 2019

Contributor

I think we can merge this, and enable all ITs for direct runner both on Py2 and Py3 in a follow-up change.

This comment has been minimized.

Copy link
@markflyhigh

markflyhigh Mar 26, 2019

Contributor

They are running in parallel with postCommitIT and VR tests. see https://scans.gradle.com/s/slw53cu2vk7n6 for example. I think changes here looks good to me.

@Juta

This comment has been minimized.

Copy link
Contributor Author

commented Mar 22, 2019

Run Python Precommit

@markflyhigh

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2019

LGTM to me. Thanks!

@markflyhigh markflyhigh merged commit 5521415 into apache:master Mar 26, 2019

6 checks passed

Portable_Python ("Run Portable_Python PreCommit") SUCCESS
Details
Python ("Run Python PreCommit") SUCCESS
Details
Python SDK PostCommit Tests SUCCESS
Details
Python SDK PostCommit Tests on Python 3 SUCCESS
Details
Python_PVR_Flink ("Run Python_PVR_Flink PreCommit") SUCCESS
Details
RAT ("Run RAT PreCommit") SUCCESS
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.