diff options
author | Pascal Terjan <pterjan@mageia.org> | 2019-10-23 21:46:23 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mageia.org> | 2019-10-23 21:46:23 +0000 |
commit | 7f5387075ad6711c2c4e2b70f1408867236d0ec3 (patch) | |
tree | ea2a2652e6224b6a0363100326c4161b0dff2571 /modules/buildsystem/templates/cleaner_test.rb | |
parent | 37f92d11f06107dcf587012908af71aec3284f86 (diff) | |
download | puppet-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.rb | 46 |
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 |