Skip to content

Commit edfbc7a

Browse files
authored
Merge pull request #76 from phracek/fixing_ci_tests
Fixing CI tests. DockerLint in two classes and rpmvalidation logs problems
2 parents b022462 + e0534f1 commit edfbc7a

File tree

2 files changed

+48
-46
lines changed

2 files changed

+48
-46
lines changed

tools/modulelint.py

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -28,82 +28,82 @@
2828
from moduleframework.avocado_testers import container_avocado_test
2929

3030

31-
class DockerfileLinter(module_framework.AvocadoTest):
31+
class DockerfileSanitize(container_avocado_test.ContainerAvocadoTest):
3232
"""
3333
:avocado: enable
3434
3535
"""
3636

37-
dp = None
37+
dp = dockerlinter.DockerfileLinter(os.path.join(os.getcwd(), ".."))
3838

39-
def setUp(self):
40-
# it is not intended just for docker, but just docker packages are
41-
# actually properly signed
42-
self.dp = dockerlinter.DockerfileLinter(os.path.join(os.getcwd(), ".."))
43-
if self.dp.dockerfile is None:
44-
self.skip()
45-
46-
def testDockerFromBaseruntime(self):
39+
def test_docker_from_baseruntime(self):
4740
self.assertTrue(self.dp.check_baseruntime())
4841

49-
def testDockerNodocs(self):
50-
self.start()
51-
installed_pkgs = self.run("rpm -qa --qf '%{{NAME}}\n'", ignore_status=True).stdout
52-
# This returns a list of packages defined in config.yaml for testing
53-
# e.g. ["bash", "rpm", "memcached"] in case of memcached
54-
pkgs = self.backend.getPackageList()
55-
for pkg in installed_pkgs.split('\n'):
56-
if pkg in pkgs:
57-
all_docs = self.run("rpm -qd %s" % pkg).stdout
58-
for doc in all_docs.strip().split('\n'):
59-
self.assertNotEqual(0, self.run("test -e %s" % doc, ignore_status=True).exit_status)
60-
61-
def testDockerCleanAll(self):
62-
self.start()
63-
pkg_mgr = "yum"
64-
# Detect distro in image
65-
distro = self.run("cat /etc/os-release").stdout
66-
if 'NAME=Fedora' in distro:
67-
pkg_mgr = "dnf"
68-
# Look, whether we have solv files in /var/cache/<pkg_mgr>/*.solv
69-
# dnf|yum clean all deletes the file *.solv
70-
ret = self.run("ls /var/cache/%s/*.solv" % pkg_mgr, ignore_status=True)
71-
self.assertNotEqual(0, ret.exit_status)
72-
self.assertEqual("", ret.stdout.strip())
73-
74-
def testArchitectureInEnvAndLabelExists(self):
42+
def test_architecture_in_env_and_label_exists(self):
7543
self.assertTrue(self.dp.get_docker_specific_env("ARCH="))
7644
self.assertTrue(self.dp.get_specific_label("architecture"))
7745

78-
def testNameInEnvAndLabelExists(self):
46+
def test_name_in_env_and_label_exists(self):
7947
self.assertTrue(self.dp.get_docker_specific_env("NAME="))
8048
self.assertTrue(self.dp.get_specific_label("name"))
8149

82-
def testReleaseLabelExists(self):
50+
def test_release_label_exists(self):
8351
self.assertTrue(self.dp.get_specific_label("release"))
8452

85-
def testVersionLabelExists(self):
53+
def test_version_label_exists(self):
8654
self.assertTrue(self.dp.get_specific_label("version"))
8755

88-
def testComRedHatComponentLabelExists(self):
56+
def test_com_red_hat_component_label_exists(self):
8957
self.assertTrue(self.dp.get_specific_label("com.redhat.component"))
9058

91-
def testIok8sDescriptionExists(self):
59+
def test_iok8s_description_exists(self):
9260
self.assertTrue(self.dp.get_specific_label("io.k8s.description"))
9361

94-
def testIoOpenshiftExposeServicesExists(self):
62+
def test_io_openshift_expose_services_exists(self):
9563
label_io_openshift = "io.openshift.expose-services"
9664
exposes = self.dp.get_docker_expose()
9765
label_list = self.dp.get_docker_labels()
9866
self.assertTrue(label_list[label_io_openshift])
9967
for exp in exposes:
10068
self.assertTrue("%s" % exp in label_list[label_io_openshift])
10169

102-
def testIoOpenShiftTagsExists(self):
70+
def test_io_openshift_tags_exists(self):
10371
label_list = self.dp.get_docker_labels()
10472
self.assertTrue("io.openshift.tags" in label_list)
10573

10674

75+
class DockerfileLinterInContainer(container_avocado_test.ContainerAvocadoTest):
76+
"""
77+
:avocado: enable
78+
79+
"""
80+
81+
def test_docker_nodocs(self):
82+
self.start()
83+
installed_pkgs = self.run("rpm -qa --qf '%{{NAME}}\n'", verbose=False).stdout
84+
# This returns a list of packages defined in config.yaml for testing
85+
# e.g. ["bash", "rpm", "memcached"] in case of memcached
86+
pkgs = self.backend.getPackageList()
87+
list_pkg = [pkg for pkg in installed_pkgs.split('\n') if pkg in pkgs]
88+
for pkg in list_pkg:
89+
all_docs = self.run("rpm -qd %s" % pkg, verbose=False).stdout
90+
for doc in all_docs.strip().split('\n'):
91+
self.assertNotEqual(0, self.run("test -e %s" % doc, ignore_status=True).exit_status)
92+
93+
def test_docker_clean_all(self):
94+
self.start()
95+
pkg_mgr = "yum"
96+
# Detect distro in image
97+
distro = self.run("cat /etc/os-release").stdout
98+
if 'NAME=Fedora' in distro:
99+
pkg_mgr = "dnf"
100+
# Look, whether we have solv files in /var/cache/<pkg_mgr>/*.solv
101+
# dnf|yum clean all deletes the file *.solv
102+
ret = self.run("ls /var/cache/%s/*.solv" % pkg_mgr, ignore_status=True)
103+
self.assertNotEqual(0, ret.exit_status)
104+
self.assertEqual("", ret.stdout.strip())
105+
106+
107107
class DockerLint(container_avocado_test.ContainerAvocadoTest):
108108
"""
109109
:avocado: enable

tools/modulelint/rpmvalidation.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,17 +88,19 @@ def _compare_fhs(self, filepath):
8888
return True
8989
for path in self.fhs_base_paths:
9090
if filepath.startswith(path):
91-
self.log.info("%s starts with FSH %s" % (filepath, path))
91+
# Log is not needed I guess. It causes troubles in Travis CI.
92+
# log is pretty huge.
93+
# self.log.debug("%s starts with FSH %s" % (filepath, path))
9294
return True
9395
self.log.info("%s not found in %s" % (filepath, self.fhs_base_paths))
9496
return False
9597

9698
def test(self):
97-
allpackages = filter(bool, self.run("rpm -qa").stdout.split("\n"))
99+
allpackages = filter(bool, self.run("rpm -qa", verbose=False).stdout.split("\n"))
98100
common.print_debug(allpackages)
99101
for package in allpackages:
100102
if 'filesystem' in package:
101103
continue
102-
for package_file in filter(bool, self.run("rpm -ql %s" % package).stdout.split("\n")):
104+
for package_file in filter(bool, self.run("rpm -ql %s" % package, verbose=False).stdout.split("\n")):
103105
if not self._compare_fhs(package_file):
104106
self.fail("(%s): File [%s] violates the FHS." % (package, package_file))

0 commit comments

Comments
 (0)