mirror of
https://github.com/clearlinux/autospec.git
synced 2026-08-21 22:56:06 +00:00
74c0833cf4
These patterns are being removed as they are not used or are going to be reworked. This change also removes support for multi-versioned packages which were considered for go and cargo purposes. Signed-off-by: William Douglas <william.douglas@intel.com>
90 lines
3.1 KiB
Python
90 lines
3.1 KiB
Python
import unittest
|
|
import config
|
|
|
|
|
|
# Input for tarball.detect_build_from_url method tests
|
|
# Structure: (url, build_pattern)
|
|
BUILD_PAT_URL = [
|
|
("https://cran.r-project.org/src/contrib/raster_3.0-12.tar.gz", "R"),
|
|
("http://pypi.debian.net/argparse/argparse-1.4.0.tar.gz", "distutils3"),
|
|
("https://pypi.python.org/packages/source/T/Tempita/Tempita-0.5.2.tar.gz", "distutils3"),
|
|
("https://cpan.metacpan.org/authors/id/T/TO/TODDR/IO-Tty-1.14.tar.gz", "cpan"),
|
|
("http://search.cpan.org/CPAN/authors/id/D/DS/DSKOLL/IO-stringy-2.111.tar.gz", "cpan"),
|
|
("https://pecl.php.net//get/lua-2.0.6.tgz", "phpize"),
|
|
]
|
|
|
|
|
|
def detect_build_test_generator(url, build_pattern):
|
|
"""Create test for tarball.detect_build_from_url method."""
|
|
def generator(self):
|
|
"""Test template."""
|
|
conf = config.Config("")
|
|
conf.detect_build_from_url(url)
|
|
self.assertEqual(build_pattern, conf.default_pattern)
|
|
|
|
return generator
|
|
|
|
|
|
def create_dynamic_tests():
|
|
# Create tests for config.detect_build_from_url method.
|
|
for url, build_pattern in BUILD_PAT_URL:
|
|
test_name = 'test_pat_{}'.format(url)
|
|
test = detect_build_test_generator(url, build_pattern)
|
|
setattr(TestConfig, test_name, test)
|
|
|
|
|
|
class TestConfig(unittest.TestCase):
|
|
|
|
def test_set_build_pattern(self):
|
|
"""
|
|
Test set_build_pattern with sufficient pattern strength
|
|
"""
|
|
conf = config.Config("")
|
|
conf.set_build_pattern("configure_ac", 1)
|
|
self.assertEqual(conf.default_pattern, "configure_ac")
|
|
self.assertEqual(conf.pattern_strength, 1)
|
|
|
|
def test_set_build_pattern_low_strength(self):
|
|
"""
|
|
Test set_build_pattern with low pattern strength, nothing in the module
|
|
should change
|
|
"""
|
|
conf = config.Config("")
|
|
conf.pattern_strength = 2
|
|
conf.set_build_pattern("configure_ac", 1)
|
|
self.assertEqual(conf.default_pattern, "make")
|
|
self.assertEqual(conf.pattern_strength, 2)
|
|
|
|
def test_validate_extras_content_bad_glob(self):
|
|
"""
|
|
Test validate_extras_content with more than one glob in a directory
|
|
"""
|
|
conf = config.Config("")
|
|
lines = ['/bad*path*/file']
|
|
new_lines = conf.validate_extras_content(lines, 'bad_glob')
|
|
self.assertEqual(len(new_lines), 0)
|
|
|
|
def test_validate_extras_content_good_single_glob(self):
|
|
"""
|
|
Test validate_extras_content with a single glob in a directory
|
|
"""
|
|
conf = config.Config("")
|
|
lines = ['/good*/file']
|
|
new_lines = conf.validate_extras_content(lines, 'good_single_glob')
|
|
self.assertEqual(new_lines, [lines[0].split('/')])
|
|
|
|
def test_validate_extras_content_good_multi_glob(self):
|
|
"""
|
|
Test validate_extras_content with a multiple valid globs
|
|
"""
|
|
conf = config.Config("")
|
|
lines = ['/path1', '/good*/glob*/file', '/path3']
|
|
new_lines = conf.validate_extras_content(lines, 'good_multi_glob')
|
|
self.assertEqual(new_lines, ['/path1', lines[1].split('/'), '/path3'])
|
|
|
|
# Create dynamic tests
|
|
create_dynamic_tests()
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main(buffer=True)
|