Save and restore siteconfig settings for all unit tests.

Review Request #10478 — Created March 31, 2019 and submitted

chipx86
Review Board
release-4.0.x
reviewboard

We had a number of siteconfig settings leaks between tests, caused by
one test modifying the settings and another utilizing those settings.
This could subtly impact some tests in ways that weren't always clear,
and it could depend on the order in which tests were run or the order in
which events happened. This largely happens because we don't necessarily
fully replace the SiteConfiguration in-between tests, instead often
using a cached copy.

This change updates all individual tests that need to modify siteconfig
to use the siteconfig_settings context manager, which will handle
setting and restoring the settings.

Classes that modify these settings in setUp now ensure they've cleaned
up after themselves in tearDown, preventing further leaks. Some do
this by saving and restoring an individual setting that's modified, and
others save a copy of all settings and restore them, depending on the
needs of the test suite.

Room for improvement going forward would be to add formal support in our
TestCase to let classes define global siteconfig settings and handle
the setting and restoring automatically, to completely remove the need
for custom management of siteconfig, but that's outside the scope of
this change.

All unit tests pass.

Summary
Save and restore siteconfig settings for all vunit tests.
Description From Last Updated

E127 continuation line over-indented for visual indent

reviewbotreviewbot

E127 continuation line over-indented for visual indent

reviewbotreviewbot
Checks run (1 failed, 1 succeeded)
flake8 failed.
JSHint passed.

flake8

chipx86
chipx86
david
  1. Ship It!
  2. 
      
chipx86
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-4.0.x (dcaf477)
Loading...