How to: Run geordi in a single proccess with parallel test setup

Updated . Posted . Visible to the public.

Geordi Show archive.org snapshot uses parallel_tests Show archive.org snapshot if available for running the test suite. To debug an application it is very unhandy to have multiple processes as your terminal I/O will not work as expected once a breakpoint is hit.

Even parallel_tests support an option to enable a single process run, it is not possible to pass this option through geordi. But you can set the number of processes via ENV variable manually:

PARALLEL_TEST_PROCESSORS=1 bundle exec geordi cucumber

Alternatively, you can run the vanilla cucumber command with Geordi's VNC niceties with

geordi firefox b cucumber
geordi chrome b cucumber # Alias

The suggestion solution is only necessary if it is relevant to run all tests. Single tests are always run single threaded:

bundle exec geordi cucumber features/some.feature

Use cases:

  • Somewhere in the test run a deprecation warning is thrown and you want to find out which test throws this deprecation warning.

There are other workarounds, too:

  • Geordi with Rspec: geordi rspec spec/ (providing a path will lead to a run in a single process)
  • Rspec: bundle exec rspec
  • Cucumber: DISPLAY=:17 bundle exec cucumber (Just like geordi uses port 17 for VNC to not see a test browser)
Last edit
Daniel Straßner
License
Source code in this card is licensed under the MIT License.
Posted by Emanuel to makandra dev (2018-10-10 07:53)