Resolve pylint message R0801
R0801: Similar lines in %s files
Reduced some code duplication and configured the warning only to occur
with 6 similar lines.
Change-Id: I132b1b8eb44c7ff01ee3bc6a1251882b4edcf279
diff --git a/.pylintrc b/.pylintrc
index 12aa73b..bce63fc 100644
--- a/.pylintrc
+++ b/.pylintrc
@@ -8,3 +8,6 @@
indent-string=' '
indent-after-paren=2
good-names=i,f
+
+[SIMILARITIES]
+min-similarity-lines=6
diff --git a/tests/container-images/base/test_container_structure_base.py b/tests/container-images/base/test_container_structure_base.py
index 69dec54..d62b356 100755
--- a/tests/container-images/base/test_container_structure_base.py
+++ b/tests/container-images/base/test_container_structure_base.py
@@ -15,22 +15,10 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, base_image):
- print("Starting base-container...")
- container_run = docker_client.containers.run(
- image=base_image.id,
- command="tail -f /dev/null",
- detach=True,
- auto_remove=True
- )
-
- def stop_container():
- print("Stopping base-container...")
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
+def container_run(docker_client, container_endless_run_factory, base_image):
+ container_run = container_endless_run_factory(docker_client, base_image)
+ yield container_run
+ container_run.stop(timeout=1)
def test_base_contains_git(container_run):
diff --git a/tests/container-images/conftest.py b/tests/container-images/conftest.py
index 0d47f37..69172df 100644
--- a/tests/container-images/conftest.py
+++ b/tests/container-images/conftest.py
@@ -135,3 +135,17 @@
gerrit_config, port)
return get_gerrit_container
+
+@pytest.fixture(scope="session")
+def container_endless_run_factory():
+ def get_container(docker_client, image):
+ return docker_client.containers.run(
+ image=image.id,
+ entrypoint="/bin/bash",
+ command=["-c", "tail -f /dev/null"],
+ user="gerrit",
+ detach=True,
+ auto_remove=True
+ )
+
+ return get_container
diff --git a/tests/container-images/gerrit-base/test_container_structure_gerrit_base.py b/tests/container-images/gerrit-base/test_container_structure_gerrit_base.py
index 475f355..24f06da 100755
--- a/tests/container-images/gerrit-base/test_container_structure_gerrit_base.py
+++ b/tests/container-images/gerrit-base/test_container_structure_gerrit_base.py
@@ -17,22 +17,11 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, gerrit_base_image):
- container_run = docker_client.containers.run(
- image=gerrit_base_image.id,
- entrypoint="/bin/bash",
- command=["-c", "tail -f /dev/null"],
- user="gerrit",
- detach=True,
- auto_remove=True
- )
+def container_run(docker_client, container_endless_run_factory, gerrit_base_image):
+ container_run = container_endless_run_factory(docker_client, gerrit_base_image)
+ yield container_run
+ container_run.stop(timeout=1)
- def stop_container():
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
def test_gerrit_base_inherits_from_base(gerrit_base_image):
contains_tag = False
diff --git a/tests/container-images/gerrit-init/test_container_integration_gerrit_init_h2.py b/tests/container-images/gerrit-init/test_container_integration_gerrit_init_h2.py
index 1cbda4a..7271973 100644
--- a/tests/container-images/gerrit-init/test_container_integration_gerrit_init_h2.py
+++ b/tests/container-images/gerrit-init/test_container_integration_gerrit_init_h2.py
@@ -50,8 +50,7 @@
return container_run
@pytest.fixture(scope="class")
-def container_run_endless(
- request, docker_client, gerrit_init_image, tmp_path_factory):
+def container_run_endless(docker_client, gerrit_init_image, tmp_path_factory):
tmp_site_dir = tmp_path_factory.mktemp('gerrit_site')
container_run = docker_client.containers.run(
image=gerrit_init_image.id,
@@ -68,12 +67,8 @@
auto_remove=True
)
- def stop_container():
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
+ yield container_run
+ container_run.stop(timeout=1)
@pytest.mark.incremental
class TestGerritInitEmptySite:
diff --git a/tests/container-images/gerrit-init/test_container_structure_gerrit_init.py b/tests/container-images/gerrit-init/test_container_structure_gerrit_init.py
index c50b543..977cf32 100755
--- a/tests/container-images/gerrit-init/test_container_structure_gerrit_init.py
+++ b/tests/container-images/gerrit-init/test_container_structure_gerrit_init.py
@@ -15,22 +15,11 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, gerrit_init_image):
- container_run = docker_client.containers.run(
- image=gerrit_init_image.id,
- entrypoint="/bin/bash",
- command=["-c", "tail -f /dev/null"],
- user="gerrit",
- detach=True,
- auto_remove=True
- )
+def container_run(docker_client, container_endless_run_factory, gerrit_init_image):
+ container_run = container_endless_run_factory(docker_client, gerrit_init_image)
+ yield container_run
+ container_run.stop(timeout=1)
- def stop_container():
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
@pytest.fixture(scope="function",
params=["/var/tools/gerrit_init.py",
diff --git a/tests/container-images/gerrit-master/test_container_structure_gerrit_master.py b/tests/container-images/gerrit-master/test_container_structure_gerrit_master.py
index f181d17..ee1ee88 100755
--- a/tests/container-images/gerrit-master/test_container_structure_gerrit_master.py
+++ b/tests/container-images/gerrit-master/test_container_structure_gerrit_master.py
@@ -15,20 +15,11 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, gerrit_master_image):
- container_run = docker_client.containers.run(
- image=gerrit_master_image.id,
- user="gerrit",
- detach=True,
- auto_remove=True
- )
+def container_run(docker_client, container_endless_run_factory, gerrit_master_image):
+ container_run = container_endless_run_factory(docker_client, gerrit_master_image)
+ yield container_run
+ container_run.stop(timeout=1)
- def stop_container():
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
def test_gerrit_master_inherits_from_gerrit_base(gerrit_master_image):
contains_tag = False
diff --git a/tests/container-images/gerrit-slave/test_container_structure_gerrit_slave.py b/tests/container-images/gerrit-slave/test_container_structure_gerrit_slave.py
index 8d151f8..ec72e4c 100755
--- a/tests/container-images/gerrit-slave/test_container_structure_gerrit_slave.py
+++ b/tests/container-images/gerrit-slave/test_container_structure_gerrit_slave.py
@@ -17,22 +17,11 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, gerrit_slave_image):
- container_run = docker_client.containers.run(
- image=gerrit_slave_image.id,
- entrypoint="/bin/bash",
- command=["-c", "tail -f /dev/null"],
- user="gerrit",
- detach=True,
- auto_remove=True
- )
+def container_run(docker_client, container_endless_run_factory, gerrit_slave_image):
+ container_run = container_endless_run_factory(docker_client, gerrit_slave_image)
+ yield container_run
+ container_run.stop(timeout=1)
- def stop_container():
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
@pytest.fixture(scope="function",
params=["/var/tools/start", "/var/tools/download_db_driver"])
diff --git a/tests/container-images/git-gc/test_container_structure_gitgc.py b/tests/container-images/git-gc/test_container_structure_gitgc.py
index 9a858ec..bd0e2ca 100644
--- a/tests/container-images/git-gc/test_container_structure_gitgc.py
+++ b/tests/container-images/git-gc/test_container_structure_gitgc.py
@@ -15,24 +15,10 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, gitgc_image):
- print("Starting git-gc-container...")
- container_run = docker_client.containers.run(
- image=gitgc_image.id,
- entrypoint="/bin/bash",
- command=["-c", "tail -f /dev/null"],
- user="gerrit",
- detach=True,
- auto_remove=True
- )
-
- def stop_container():
- print("Stopping git-gc-container...")
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
+def container_run(docker_client, container_endless_run_factory, gitgc_image):
+ container_run = container_endless_run_factory(docker_client, gitgc_image)
+ yield container_run
+ container_run.stop(timeout=1)
def test_gitgc_inherits_from_base(gitgc_image):
diff --git a/tests/container-images/mysql-replication-init/test_container_structure_mysql_replication_init.py b/tests/container-images/mysql-replication-init/test_container_structure_mysql_replication_init.py
index 7683886..b40cc3d 100644
--- a/tests/container-images/mysql-replication-init/test_container_structure_mysql_replication_init.py
+++ b/tests/container-images/mysql-replication-init/test_container_structure_mysql_replication_init.py
@@ -15,7 +15,7 @@
import pytest
@pytest.fixture(scope="module")
-def container_run(request, docker_client, mysql_replication_init_image):
+def container_run(docker_client, mysql_replication_init_image):
container_run = docker_client.containers.run(
image=mysql_replication_init_image.id,
entrypoint="/bin/bash",
@@ -24,13 +24,8 @@
auto_remove=True
)
- def stop_container():
- container_run.stop(timeout=1)
-
- request.addfinalizer(stop_container)
-
- return container_run
-
+ yield container_run
+ container_run.stop(timeout=1)
def test_mysql_replication_init_contains_mysql_client(container_run):
exit_code, _ = container_run.exec_run(