beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Kirpichov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (BEAM-2506) Consider bundling multiple ValidatesRunner tests into one pipeline
Date Thu, 22 Jun 2017 22:24:00 GMT
Eugene Kirpichov created BEAM-2506:
--------------------------------------

             Summary: 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
            Assignee: Davor Bonaci


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
(v6.4.14#64029)

Mime
View raw message