[ https://issues.apache.org/jira/browse/BEAM-2506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davor Bonaci reassigned BEAM-2506: ---------------------------------- Assignee: (was: Davor Bonaci) > 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 > > 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)