aboutsummaryrefslogtreecommitdiffstats
path: root/modules/buildsystem/templates/cleaner_test.rb
diff options
context:
space:
mode:
authorPascal Terjan <pterjan@mageia.org>2019-10-23 21:46:23 +0000
committerPascal Terjan <pterjan@mageia.org>2019-10-23 21:46:23 +0000
commit7f5387075ad6711c2c4e2b70f1408867236d0ec3 (patch)
treeea2a2652e6224b6a0363100326c4161b0dff2571 /modules/buildsystem/templates/cleaner_test.rb
parent37f92d11f06107dcf587012908af71aec3284f86 (diff)
downloadpuppet-7f5387075ad6711c2c4e2b70f1408867236d0ec3.tar
puppet-7f5387075ad6711c2c4e2b70f1408867236d0ec3.tar.gz
puppet-7f5387075ad6711c2c4e2b70f1408867236d0ec3.tar.bz2
puppet-7f5387075ad6711c2c4e2b70f1408867236d0ec3.tar.xz
puppet-7f5387075ad6711c2c4e2b70f1408867236d0ec3.zip
Make the cleanup script smarter
Also, refactor it and add tests Now subpackages of a package not yet rebuilt on an architecture do not get clean on that architecture (even the noarch ones from that package) and packages get deleted only if the src package is totally gone or if the new version of it is at least 7 days old.
Diffstat (limited to 'modules/buildsystem/templates/cleaner_test.rb')
-rw-r--r--modules/buildsystem/templates/cleaner_test.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/modules/buildsystem/templates/cleaner_test.rb b/modules/buildsystem/templates/cleaner_test.rb
new file mode 100644
index 00000000..85d46a4b
--- /dev/null
+++ b/modules/buildsystem/templates/cleaner_test.rb
@@ -0,0 +1,46 @@
+require 'cleaner'
+require "test/unit"
+
+class TestCleaner < Test::Unit::TestCase
+
+ @pkgs = []
+
+ def setpackages(pkgs)
+ @pkgs = pkgs
+ end
+
+ def packages(path)
+ @pkgs.map{|p| yield "#{p}\n"}
+ end
+
+ def test_old
+ # Package was built on this arch and src.rpm for new version is 15d old
+ setpackages(['foo-43-1.src.rpm:foo-43-1.armv7hl.rpm', 'foo-42-1.src.rpm:foo-42-1.armv7hl.rpm'])
+ srcages = {}
+ srcages['foo'] = [ 'foo-43-1.src.rpm', Time.now.to_i - 15*24*3600 ]
+ srcs = {}
+ srcs['foo-43-1.src.rpm'] = true
+ assert_equal(['foo-42-1.armv7hl.rpm'], check_binaries(srcs, srcages, '', nil))
+ end
+
+ def test_recent
+ # Package was built on this arch but src.rpm for new version is only 1d old
+ setpackages(['foo-43-1.src.rpm:foo-43-1.armv7hl.rpm', 'foo-42-1.src.rpm:foo-42-1.armv7hl.rpm'])
+ srcages = {}
+ srcages['foo'] = [ 'foo-43.src.rpm', Time.now.to_i - 24*3600 ]
+ srcs = {}
+ srcs['foo-43-1.src.rpm'] = true
+ assert_equal([], check_binaries(srcs, srcages, '', nil))
+ end
+
+ def test_arm_late
+ # Package was not yet built on this arch
+ setpackages(['foo-42-1.src.rpm:foo-42-1.armv7hl.rpm'])
+ srcages = {}
+ srcages['foo'] = [ 'foo-43.src.rpm', Time.now.to_i - 24*3600 ]
+ srcs = {}
+ srcs['foo-43-1.src.rpm'] = true
+ assert_equal([], check_binaries(srcs, srcages, '', nil))
+ end
+
+end