RF: Fix logging under Python 3.14

The logging configuration was broken under Python 3.14 - multiprocessing now uses the 'forkserver' startup method by default, whereas I was relying on the previous default of 'fork', which propagated the SocketHandler objects to the child processes via memory inheritance.a Handlers are now re-created in child processes both when running tests locally and remotely.

This MR also adds a few new small utility functions:

  • indir - a context manager which temporarily changes into a directory
  • runcmd - A function which runs a shell command and returns its standard output

Merge request reports

Loading