commit | 3dc501935f1951d3d30e706e14ca3c9bcf2ca51a | [log] [tgz] |
---|---|---|
author | Dmitrii Filippov <dmfilippov@google.com> | Wed Jun 12 12:58:26 2024 +0200 |
committer | Dmitrii Filippov <dmfilippov@google.com> | Wed Jun 12 11:46:37 2024 +0000 |
tree | 5d58b936000a1bdd562b397df63dc7ed712bfc35 | |
parent | d12981b46c47fffd8c348e6ded1e3dafaaa6ff1b [diff] |
Clear system properties after a test is failed. The TestConfigRule didn't clear the system properties if an exception is thrown in a test. Becasue assume() also uses special types of exception, system properties also not cleaned after any tests with assume. It introduced flakiness in tests - tests can fail or pass depending on order of execution. The problem was introduced in https://gerrit-review.git.corp.google.com/c/gerrit/+/409500 Release-Notes: skip Change-Id: I7b824c5b084c35868361ba4d1cd30885b18b83ba
diff --git a/java/com/google/gerrit/acceptance/TestConfigRule.java b/java/com/google/gerrit/acceptance/TestConfigRule.java index a7f051a..e2ae416 100644 --- a/java/com/google/gerrit/acceptance/TestConfigRule.java +++ b/java/com/google/gerrit/acceptance/TestConfigRule.java
@@ -47,8 +47,11 @@ @Override public void evaluate() throws Throwable { setTestConfigFromDescription(description); - statement.evaluate(); - clear(); + try { + statement.evaluate(); + } finally { + clear(); + } } }; }