Skip to content
  • Thomas Haller's avatar
    clients/tests: run nmcli commands in parallel · baaab522
    Thomas Haller authored
    Most nmcli calls from clients/tests don't change the server's state.
    Hence, they can easily run in parallel.
    
    Run tests in parallel. No longer handle one nmcli invocation after the other.
    Instead, spawn groups of processes in parallel, and track the pending jobs.
    
    Only at certain synchronization points we call self.async_wait() to
    wait for all previous jobs to complete.
    
    This reduces the test time on my machine from 7 to 3 seconds. Arguably,
    that matters less during a full `make check -j 8`, because the entire
    set of tests anyway takes longer than 7 seconds. So when running the
    entire test suite, the machine is kept busy anyway. It matters however
    for manual invocations.
    baaab522