Module: check_mk
Branch: master
Commit: 648a44dd72efc59d5b7d7064568cdd837b45fc5f
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=648a44dd72efc5…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Dec 5 08:13:18 2018 +0100
Simplified local integration test execution a bit
Integration tests are now executed in dedicated sites, not
heute / stable anymore. These sites are named "int_[branch_part]".
While the branch part is calculated out of the current git branch
name. The branch names are mangled like this: 1. split by "/" and only
the last element is used, then all characters except the ones allowed
in site IDs are strippted.
This should make local integration test execution a bit more straight forward
because there is no relation to the development sites anymore.
Change-Id: Idd9320f5e43eca53b79180251ee9e36e98ff4269
---
tests/packaging/test_files.py | 59 +++++++++++++++++++++++--------------------
1 file changed, 31 insertions(+), 28 deletions(-)
diff --git a/tests/packaging/test_files.py b/tests/packaging/test_files.py
index 2217b20..b1372d1 100644
--- a/tests/packaging/test_files.py
+++ b/tests/packaging/test_files.py
@@ -3,6 +3,7 @@ import subprocess
import re
import pytest
+
@pytest.mark.parametrize("what", [
("rpm"),
("deb"),
@@ -10,7 +11,7 @@ import pytest
])
def test_package_built(version_path, what):
files = os.listdir(version_path)
- count = len([ e for e in files if e.startswith("check-mk-") and
e.endswith("."+what) ])
+ count = len([e for e in files if e.startswith("check-mk-") and
e.endswith("." + what)])
assert count > 0, "Found no %s package in %s" % (what.upper(),
version_path)
@@ -22,10 +23,10 @@ def _get_package_paths(version_path, what):
# In case packages grow/shrink this check has to be changed.
@pytest.mark.parametrize("what,min_size,max_size", [
- ("rpm", 119*1024*1024, 250*1024*1024),
- ("deb", 94*1024*1024, 210*1024*1024),
- ("cma", 169*1024*1024, 255*1024*1024),
- ("tar.gz", 320*1024*1024, 415*1024*1024),
+ ("rpm", 152 * 1024 * 1024, 235 * 1024 * 1024),
+ ("deb", 126 * 1024 * 1024, 196 * 1024 * 1024),
+ ("cma", 214 * 1024 * 1024, 241 * 1024 * 1024),
+ ("tar.gz", 370 * 1024 * 1024, 439 * 1024 * 1024),
])
def test_package_sizes(version_path, what, min_size, max_size):
for pkg in _get_package_paths(version_path, what):
@@ -42,31 +43,33 @@ def test_package_sizes(version_path, what, min_size, max_size):
def test_files_not_in_version_path(version_path, what):
allowed_patterns = {
"rpm": [
- "/opt",
- "/opt/omd",
- "/opt/omd/apache",
- "/opt/omd/sites",
+ "/opt$",
+ "/opt/omd$",
+ "/opt/omd/apache$",
+ "/opt/omd/sites$",
"/opt/omd/versions",
],
"deb": [
- "/",
- "/opt/",
- "/opt/omd/",
- "/usr/",
- "/usr/share/",
- "/usr/share/man/",
- "/usr/share/man/man8/",
- "/usr/share/doc/",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/changelog.gz",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/COPYING.gz",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/TEAM",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/copyright",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/README",
- "/usr/share/doc/check-mk-(raw|enterprise)-*/README.Debian",
- "/etc/",
- "/etc/init.d/",
- "/etc/init.d/check-mk-(raw|enterprise)-*",
+ "/$",
+ "/opt/$",
+ "/opt/omd/$",
+ "/opt/omd/apache/$",
+ "/opt/omd/sites/$",
+ "/opt/omd/versions/", # All files below this are allowed
+ "/usr/$",
+ "/usr/share/$",
+ "/usr/share/man/$",
+ "/usr/share/man/man8/$",
+ "/usr/share/doc/$",
+ "/usr/share/doc/check-mk-(raw|enterprise|managed)-.*/$",
+
"/usr/share/doc/check-mk-(raw|enterprise|managed)-.*/changelog.gz$",
+ "/usr/share/doc/check-mk-(raw|enterprise|managed)-.*/COPYING.gz$",
+ "/usr/share/doc/check-mk-(raw|enterprise|managed)-.*/TEAM$",
+ "/usr/share/doc/check-mk-(raw|enterprise|managed)-.*/copyright$",
+ "/usr/share/doc/check-mk-(raw|enterprise|managed)-.*/README$",
+ "/etc/$",
+ "/etc/init.d/$",
+ "/etc/init.d/check-mk-(raw|enterprise|managed)-.*$",
],
}
@@ -84,7 +87,7 @@ def test_files_not_in_version_path(version_path, what):
for path in paths:
if not path.startswith("/opt/omd/versions/"):
is_allowed = any(re.match(p, path) for p in allowed_patterns[what])
- assert is_allowed, "Found unexpected global file: %s" % path
+ assert is_allowed, "Found unexpected global file: %s in %s" %
(path, pkg)
def test_cma_only_contains_version_paths(version_path):