scylladb / scylla-operator

The Kubernetes Operator for ScyllaDB
https://operator.docs.scylladb.com/
Apache License 2.0
331 stars 163 forks source link

Pass validated and completed arguments to spawned processes in test runner #1263

Open rzetelskik opened 1 year ago

rzetelskik commented 1 year ago

Currently our test runner passes raw command line arguments to the children processes, only modifying them accordingly. This has led to https://github.com/scylladb/scylla-operator/issues/1245. We should pass validated and completed arguments instead. Better yet, we could also do what Ginkgo CLI does, i.e. the parent process could compile the suite and pass a path to it to spawned processes.

tnozicka commented 1 year ago

I am on board with propagating the args properly, the other part would need a link and/or more detailed description especially if we come to it after a while.

rzetelskik commented 1 year ago

Each suite is compiled (https://github.com/onsi/ginkgo/blob/3e39231dee937854d166b210e0542798da58aa09/ginkgo/run/run_command.go#L110) before the parallel processes are run: https://github.com/onsi/ginkgo/blob/3e39231dee937854d166b210e0542798da58aa09/ginkgo/run/run_command.go#L153 and https://github.com/onsi/ginkgo/blob/3e39231dee937854d166b210e0542798da58aa09/ginkgo/internal/run.go#L31. The parallel processes are then started with a path to the compiled suite provided trough arguments: https://github.com/onsi/ginkgo/blob/3e39231dee937854d166b210e0542798da58aa09/ginkgo/internal/run.go#L43.

Of course it would first need assessing whether that would be worth the additional effort.

scylla-operator-bot[bot] commented 1 month ago

The Scylla Operator project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

/lifecycle stale

tnozicka commented 1 month ago

/remove-lifecycle stale /triage accepted