Apologies, I forgot to add the link for [1] in my previous email. [1] https://github.com/apache/incubator-pekko/actions
On Thu, 6 Jul 2023 at 10:53, PJ Fanning <[email protected]> wrote: > > We can certainly prioritise work on making the tests easier to work > with. It would be good from a community building perspective. > > We have the tests working in the GitHub Actions CI framework [1]. > Pekko is a complex clustering tool and it does require quite some > setup to run some of the tests. > > Unfortunately, blocking a 1.0.0 release would damage our hopes of > building the community. > > > On Thu, 6 Jul 2023 at 10:39, Matthew de Detrich > <[email protected]> wrote: > > > > > Efforts have been made in the past to clean things up, but the reality > > is that it is very hard to make tests reliable in an asynchronous > > framework and in general it is almost impossible to accommodate for > > all possible running environments. > > > > I really want to highlight this takeaway, if we were so strict with other > > comparable > > Apache TLP (i.e. Kafka, Spark, Cassandra, Flink etc etc) then no release be > > ever > > made. While there is merit in discussing how bespoke the testing for Pekko > > is > > vs other "typical" ASF projects, if the expectation is that you can just run > > sbt test on a local laptop and the tests to reliably pass then thats not > > going to > > happen any time soon. > > > > As we speak I am adding in documentation in various places (i.e. > > https://cwiki.apache.org/confluence/display/PEKKO/Testing > > and https://github.com/apache/incubator-pekko/pull/469) for techniques on > > how to > > handle this (i.e. testQuick) and I will also document what Johannes said > > right now regarding the timing factor/timing tests specifically for Pekko > > core. > > > > On Thu, Jul 6, 2023 at 11:28 AM Johannes Rudolph > > <[email protected]> > > wrote: > > > > > The main test suite that is run nightly is run with this command: > > > > > > sbt \ > > > -Dpekko.cluster.assert=on \ > > > -Dpekko.log.timestamps=true \ > > > -Dpekko.test.timefactor=2 \ > > > -Dpekko.actor.testkit.typed.timefactor=2 \ > > > -Dpekko.test.tags.exclude=gh-exclude,timing \ > > > -Dpekko.test.multi-in-test=false \ > > > clean "+~ ${{ matrix.scalaVersion }} test" checkTestsHaveRun > > > > > > > > > https://github.com/apache/incubator-pekko/blob/88bf6329f193eedd45091f4f9a515943bd8ecb23/.github/workflows/nightly-builds.yml#L168-L175 > > > > > > Unfortunately, the amount of flaky tests is high, so the important bits > > > are > > > > > > -Dpekko.test.timefactor=2 > > > -Dpekko.test.tags.exclude=gh-exclude,timing > > > > > > which makes timing in tests more lenient and also excludes some notorious > > > ones. > > > > > > Efforts have been made in the past to clean things up, but the reality > > > is that it is very hard to make tests reliable in an asynchronous > > > framework and in general it is almost impossible to accommodate for > > > all possible running environments. > > > > > > Johannes > > > > > > On Thu, Jul 6, 2023 at 10:30 AM Matthew de Detrich > > > <[email protected]> wrote: > > > > > > > > So in general testing software like Pekko is going to be problematic due > > > to > > > > it being a distributed/concurrent system i.e. there are determinism > > > > (i.e. > > > > flaky) test issues. One thing that I did however notice is that in the > > > > github actions CI we pass arguments to help alleviate these issues (i.e. > > > > > > > https://github.com/apache/incubator-pekko/blob/main/.github/workflows/nightly-builds.yml#L35-L42 > > > ). > > > > The way that ASF release process works where it compels committers to > > > > run > > > > tests locally has surfaced this, where as in the past the source of > > > > truth > > > > for tests was either in github actions CI or a in the case of Lightbend > > > > private machines/scripts that were specifically setup to test the > > > software > > > > before a release. > > > > > > > > A final thing to note is that when someone makes a PR against Pekko, > > > tests > > > > are only run on the module that has changed (this is achieved via > > > > https://github.com/sbt/sbt-pull-request-validator) and most of the > > > > flakiness occurs when you try to run all of the tests at once. For this, > > > > having a powerful machine helps. > > > > > > > > On Thu, Jul 6, 2023 at 10:20 AM Claude Warren, Jr > > > > <[email protected]> wrote: > > > > > > > > > My opinion is that if I check out the release code the tests should > > > pass, > > > > > or there should be a list of "flaky" tests that are known to have > > > problems > > > > > so I can at least verify that the failures are in them. > > > > > > > > > > On Thu, Jul 6, 2023 at 10:15 AM PJ Fanning <[email protected]> > > > wrote: > > > > > > > > > > > There are multiple modules. The tests for some modules are passing > > > but > > > > > > for other modules they are failing. > > > > > > > > > > > > With one example: > > > > > > > > > > > > [error] (remote-tests / Test / test) sbt.TestsFailedException: Tests > > > > > > unsuccessful > > > > > > > > > > > > remote-tests module is in the directory of the same name. > > > > > > > > > > > > You can use this command just to run the tests in that module > > > > > > > > > > > > sbt remote-tests/test > > > > > > > > > > > > Some of the tests can be sensitive to the performance of your > > > machine. > > > > > > > > > > > > If you continue to have trouble, maybe you could send me your full > > > > > > output. I don't think this public mailing list would be a good place > > > > > > for that large output but you can email me directly or message it > > > > > > using Slack. > > > > > > > > > > > > > > > > > > On Thu, 6 Jul 2023 at 09:06, Claude Warren, Jr > > > > > > <[email protected]> wrote: > > > > > > > > > > > > > > Hello, > > > > > > > > > > > > > > While testing RC3 I did the following: > > > > > > > > > > > > > > sbt test > > > > > > > > > > > > > > the result I got was: > > > > > > > [info] Total number of tests run: 628 > > > > > > > [info] Suites: completed 181, aborted 0 > > > > > > > [info] Tests: succeeded 628, failed 0, canceled 0, ignored 6, > > > pending 2 > > > > > > > [info] All tests passed. > > > > > > > [error] (remote-tests / Test / test) sbt.TestsFailedException: > > > Tests > > > > > > > unsuccessful > > > > > > > [error] (persistence / Test / test) sbt.TestsFailedException: > > > > > > > Tests > > > > > > > unsuccessful > > > > > > > [error] (persistence-shared / Test / test) > > > sbt.TestsFailedException: > > > > > > Tests > > > > > > > unsuccessful > > > > > > > [error] (remote / Test / test) sbt.TestsFailedException: Tests > > > > > > unsuccessful > > > > > > > [error] (stream-tests / Test / test) sbt.TestsFailedException: > > > Tests > > > > > > > unsuccessful > > > > > > > [error] Total time: 7313 s (02:01:53), completed 5 Jul 2023, > > > 19:10:06 > > > > > > > > > > > > > > Why the success and yet the failures? > > > > > > > > > > > > > > Claude > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: [email protected] > > > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > Matthew de Detrich > > > > > > > > *Aiven Deutschland GmbH* > > > > > > > > Immanuelkirchstraße 26, 10405 Berlin > > > > > > > > Amtsgericht Charlottenburg, HRB 209739 B > > > > > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > > > > > > *m:* +491603708037 > > > > > > > > *w:* aiven.io *e:* [email protected] > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [email protected] > > > For additional commands, e-mail: [email protected] > > > > > > > > > > -- > > > > Matthew de Detrich > > > > *Aiven Deutschland GmbH* > > > > Immanuelkirchstraße 26, 10405 Berlin > > > > Amtsgericht Charlottenburg, HRB 209739 B > > > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen > > > > *m:* +491603708037 > > > > *w:* aiven.io *e:* [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
