flink-connectors icon indicating copy to clipboard operation
flink-connectors copied to clipboard

Integrate flink end-to-end tests with Travis

Open chrisdail opened this issue 8 years ago • 5 comments
trafficstars

Suggestion came from slack around integrating testing of the flink connectors using the flink end-to-end tests.

From Stephan:

Or we change the build setup of the flink-connectors repository a bit:

  • Travis would not call gradle directly, but instead run a test driver script
  • That script would trigger initially gradle, but also run some end-to-end tests that download flink, take the compiled connector, start flink, submit a job, parse results, etc.

chrisdail avatar Sep 07 '17 16:09 chrisdail

I think I know what this issue is referring to, but it is missing specifics about what these end-to-end tests are.

fpj avatar May 24 '18 17:05 fpj

I take the meaning to be, run gradlew test in the travis build. At the moment, travis is just building the code.

EronWright avatar May 24 '18 19:05 EronWright

I've noticed (https://travis-ci.org/pravega/flink-connectors/builds/382312652) the test was run with gradlew check, while some others don't. A little puzzled as to why.

hldnova avatar May 25 '18 14:05 hldnova

Here is what I have in mind for the end to end tests:

  • build
  • test
  • download and compile a flink sample (at minimum exercising flink pravega writer/reader).
  • download and start flink cluster
  • run the flink app on the flink cluster
  • some basic verification of the flink app.
  • eventually extend the flink samples to cover more features (exactlyonce, streamcut, table/batch, etc.)

Functional wise, the end-to-end tests do not go much beyond the existing unit tests. The main difference is that they mimic the end user experience.

comments?

hldnova avatar May 25 '18 15:05 hldnova

In Flink, we have the end-to-end tests mainly to validate dependencies, classloading, config setups, multi process setups, etc. They have been useful in uncovering issues in those areas.

For a simple overview, have a look at this maven module: https://github.com/apache/flink/tree/master/flink-end-to-end-tests

StephanEwen avatar Jun 04 '18 08:06 StephanEwen