From c4fe82b50fcddfed71c6701db8c6c8c69570a748 Mon Sep 17 00:00:00 2001 From: Paul Andrey <paul.andrey@inria.fr> Date: Thu, 6 Jul 2023 14:13:16 +0200 Subject: [PATCH] Prune 'test_main.py' pytest-collected test scenarios. The legacy 'test_main.py' integration tests are now mostly redundant with other integration tests, adding little marginal value to the CI/CD tests pipeline. From a Coverage POV, the only thing that is not already tested elsewhere is the actual use of Scaffold. Hence the test scenarios collected during PyTest runs are restricted to: - FedAvg and Scaffold variants of Optimization strategies. (prior: FedAvg + FedAvgM + Scaffold) - In non-fulltest, only the Scaffold strategy is used. (prior: FedAvg + Scaffold) This results in testing 3 scenarios in the limited pipeline and 18 in the "fulltest" one, when there previously would be 6 or 27 scenarios. --- test/functional/test_main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/functional/test_main.py b/test/functional/test_main.py index b5f179da..986140da 100644 --- a/test/functional/test_main.py +++ b/test/functional/test_main.py @@ -275,7 +275,7 @@ def run_test_case( ) -@pytest.mark.parametrize("strategy", ["FedAvg", "FedAvgM", "Scaffold"]) +@pytest.mark.parametrize("strategy", ["FedAvg", "Scaffold"]) @pytest.mark.parametrize("framework", FRAMEWORKS) @pytest.mark.parametrize("kind", ["Reg", "Bin", "Clf"]) @pytest.mark.filterwarnings("ignore: PyTorch JSON serialization") @@ -294,7 +294,7 @@ def test_declearn( Note: If websockets is unavailable, use gRPC (warn) or fail. """ if not fulltest: - if (kind != "Reg") or (strategy == "FedAvgM"): + if (kind != "Reg") or (strategy == "FedAvg"): pytest.skip("skip scenario (no --fulltest option)") protocol = "websockets" # type: Literal["grpc", "websockets"] if "websockets" not in list_available_protocols(): -- GitLab