Project

General

Profile

coordination #93883

[epic] Speedup openQA coverage tests with running minion jobs synchronously using new upstream "perform_jobs_in_foreground" mojo function

Added by okurz about 1 month ago. Updated 1 day ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Feature requests
Target version:
Start date:
2021-07-07
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Difficulty:

Description

Motivation

With #93086 we found a way to speedup t/10-jobs.t by running minion jobs synchronously from the main process instead of spawning subprocesses and collecting coverage from these because it takes ages. We should apply the same functionality to other test modules, e.g. t/42-df-based-cleanup.t, at best using the new (to come) upstream mojo feature "perform_jobs_in_foreground" and remove workaround for collecting coverage from forked subprocesses. In the end we might want to have only "unit tests" collecting coverage and ensuring complete statement coverage with these while having integration tests simulating more realistic multi-process behaviours.

Acceptance criteria

  • AC1: All tests have been reviewed to apply the above
  • AC2: We are not using the workaround to collect coverage from any subprocesses anywhere by default (could still have a switch which is disabled by default)

Suggestions

  • Remove t/10-jobs.t from heavy jobs
  • We could have an environment variable to switch between "perform_jobs" or "perform_jobs_in_foreground" and combine that with coverage analysis or not
  • Remove the workarounds

Subtasks

coordination #95170: Increase code coverage of critical component OpenQA::Worker::Job without introducing slow-down due to subprocess coverage collectionResolvedmkittler


Related issues

Copied from openQA Project - action #93086: unstable test in openQA master t/10-jobs.t exceeding runtime of 280sResolved2021-05-252021-06-23

History

#1 Updated by okurz about 1 month ago

  • Copied from action #93086: unstable test in openQA master t/10-jobs.t exceeding runtime of 280s added

#2 Updated by tinita about 1 month ago

  • Subject changed from [epic Speedup openQA coverage tests with running minion jobs synchronously using new upstream "perform_jobs_in_foreground" mojo function to [epic] Speedup openQA coverage tests with running minion jobs synchronously using new upstream "perform_jobs_in_foreground" mojo function

Also available in: Atom PDF