From 17761a28681612c11fcb62091625790810782971 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Sun, 24 Jan 2016 00:29:52 +0000 Subject: Add a first test! --- Makefile | 6 ++++ NEWS | 1 + t/emi_mandatory.t | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 t/emi_mandatory.t diff --git a/Makefile b/Makefile index 7725f05..1e12dd9 100644 --- a/Makefile +++ b/Makefile @@ -25,3 +25,9 @@ dist: submit: ci mdvsys submit $(NAME) + +TESTS = $(wildcard t/*.t) +.PHONY: $(TESTS) +$(TESTS): + perl -Ilib $@ +check: $(TESTS) diff --git a/NEWS b/NEWS index b9cf3ac..d59bc1c 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ - ulri, emi: o move some code to library functions o share the code loading the state from the file tree +- add first test 0.6.25 - drop arcfour cipher usage (not enabled by default in latest openssh packages) diff --git a/t/emi_mandatory.t b/t/emi_mandatory.t new file mode 100644 index 0000000..e50d328 --- /dev/null +++ b/t/emi_mandatory.t @@ -0,0 +1,94 @@ +# Test ensuring packages are uploaded only if all mandatory arch have been built +# or are excluded. + +use Test::Simple tests => 3; +use experimental 'smartmatch'; + +use Iurt::Emi; + +my $config = { mandatory_arch => ['i586', 'x86_64'] }; +my %pkg_tree = ( + '20160113183431.nobody.valstar.23515' => { + 'target' => 'cauldron', + 'media' => { + 'core/release' => { + 'arch' => { + 'x86_64' => 1, + 'src' => 1 + }, + 'rpms' => [ + 'iurt-test-package-debuginfo-1.4.0-2.mga6.x86_64.rpm', + '@922855:iurt-test-package-1.4.0-2.mga6.src.rpm', + 'iurt-test-package-1.4.0-2.mga6.x86_64.rpm' + ], + 'path' => '/cauldron/core/release', + } + }, + 'rpms' => [ + 'iurt-test-package-debuginfo-1.4.0-2.mga6.x86_64.rpm', + '@922855:iurt-test-package-1.4.0-2.mga6.src.rpm', + 'iurt-test-package-1.4.0-2.mga6.x86_64.rpm' + ] + }, + '20160113183432.nobody.valstar.23515' => { + 'target' => 'cauldron', + 'media' => { + 'core/release' => { + 'arch' => { + 'i586' => 1, + 'x86_64' => 1, + 'src' => 1 + }, + 'rpms' => [ + 'iurt-test-package-debuginfo-1.4.0-2.mga6.i586.rpm', + '@922855:iurt-test-package-1.4.0-2.mga6.src.rpm', + 'iurt-test-package-1.4.0-2.mga6.i586.rpm', + 'iurt-test-package-debuginfo-1.4.0-2.mga6.x86_64.rpm', + 'iurt-test-package-1.4.0-2.mga6.x86_64.rpm' + ], + 'path' => '/cauldron/core/release', + } + }, + 'rpms' => [ + 'iurt-test-package-debuginfo-1.4.0-2.mga6.i586.rpm', + 'iurt-test-package-debuginfo-1.4.0-2.mga6.x86_64.rpm', + '@922855:iurt-test-package-1.4.0-2.mga6.src.rpm', + 'iurt-test-package-1.4.0-2.mga6.i586.rpm', + 'iurt-test-package-1.4.0-2.mga6.x86_64.rpm' + ] + }, + '20160113183433.nobody.valstar.23515' => { + 'target' => 'cauldron', + 'media' => { + 'core/release' => { + 'arch' => { + 'x86_64' => 1, + 'src' => 1 + }, + 'excluded_arch' => { + 'i586' => 1 + }, + 'rpms' => [ + 'iurt-test-package-debuginfo-1.4.0-2.mga6.x86_64.rpm', + '@922855:iurt-test-package-1.4.0-2.mga6.src.rpm', + 'iurt-test-package-1.4.0-2.mga6.x86_64.rpm' + ], + 'path' => '/cauldron/core/release', + } + }, + 'rpms' => [ + 'iurt-test-package-debuginfo-1.4.0-2.mga6.x86_64.rpm', + '@922855:iurt-test-package-1.4.0-2.mga6.src.rpm', + 'iurt-test-package-1.4.0-2.mga6.x86_64.rpm' + ] + }, +); + +my %targets = find_prefixes_ready_to_upload($config, %pkg_tree); + +# 20160113183431.nobody.valstar.23515 is not ready to upload, mandatory arch i586 is missing +ok(!('20160113183431.nobody.valstar.23515' ~~ @{$targets{'cauldron'}{'core/release'}{'to_upload'}})); +# 20160113183432.nobody.valstar.23515 is ready to upload, all arches are present +ok('20160113183432.nobody.valstar.23515' ~~ @{$targets{'cauldron'}{'core/release'}{'to_upload'}}); +# 20160113183433.nobody.valstar.23515 is ready to upload, i586 is excluded +ok('20160113183433.nobody.valstar.23515' ~~ @{$targets{'cauldron'}{'core/release'}{'to_upload'}}); -- cgit v1.2.1