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