You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Kenneth Knowles (Jira)" <ji...@apache.org> on 2021/05/12 15:57:00 UTC

[jira] [Commented] (BEAM-2506) Consider bundling multiple ValidatesRunner tests into one pipeline

    [ https://issues.apache.org/jira/browse/BEAM-2506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17343327#comment-17343327 ] 

Kenneth Knowles commented on BEAM-2506:
---------------------------------------

Reviving this to P2, as our tests have increased so much, plus a test matrix for JDK versions, that this is getting valuable, bordering on urgent.

> Consider bundling multiple ValidatesRunner tests into one pipeline
> ------------------------------------------------------------------
>
>                 Key: BEAM-2506
>                 URL: https://issues.apache.org/jira/browse/BEAM-2506
>             Project: Beam
>          Issue Type: Improvement
>          Components: testing
>            Reporter: Eugene Kirpichov
>            Priority: P2
>
> Currently ValidatesRunner test suites run 1 pipeline per unit test. That's a lot of small pipelines, and consumes a lot of resources especially in case of a pretty heavyweight runner like Dataflow, so tests take a long time and can't be run in parallel due to quota issues, etc.
> [~jasonkuster] says he and [~davor] discussed that we could execute multiple unit tests in a single TestPipeline.
> This JIRA is to track that idea.
> To further develop it: in case of Java, we could create a custom JUnit Runner http://junit.org/junit4/javadoc/4.12/org/junit/runner/Runner.html that would apply all the transforms and PAsserts in unit tests to a single instance of TestPipeline (per class, rather than per method), and run the whole thing at the end. PAssert captures the source location of its application, so we could still report which particular test failed.
> This obviously has fewer isolation between unit test methods, cause they effectively run in parallel instead of in sequence, so things like per-method setup and teardown will no longer be applicable. There'll probably be other issues.
> Anyway, this seems doable and high-impact.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)