From c69a5d87bf90137f7f15cae70b84dbe8d02ef829 Mon Sep 17 00:00:00 2001 From: Patrick McCarty Date: Tue, 4 Apr 2017 16:50:45 -0700 Subject: [PATCH] Add functional test for subtraction of deleted files Signed-off-by: Patrick McCarty --- Makefile.am | 1 + test/functional/subtract-delete/test.bats | 56 +++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100755 test/functional/subtract-delete/test.bats diff --git a/Makefile.am b/Makefile.am index 8c72539..630624e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -117,6 +117,7 @@ dist_check_SCRIPTS = \ test/functional/no-delta/test.bats \ test/functional/pack/test.bats \ test/functional/state-file/test.bats \ + test/functional/subtract-delete/test.bats \ test/functional/update/test.bats endif diff --git a/test/functional/subtract-delete/test.bats b/test/functional/subtract-delete/test.bats new file mode 100755 index 0000000..fa62711 --- /dev/null +++ b/test/functional/subtract-delete/test.bats @@ -0,0 +1,56 @@ +#!/usr/bin/env bats + +# common functions +load "../swupdlib" + +setup() { + clean_test_dir + init_test_dir + + init_server_ini + set_latest_ver 0 + init_groups_ini os-core test-bundle + + # start with both bundles containing a file "foo" + set_os_release 10 os-core + track_bundle 10 os-core + track_bundle 10 test-bundle + gen_file_plain 10 os-core foo + gen_file_plain 10 test-bundle foo + + # delete "foo" from os-core (the included bundle) + set_os_release 20 os-core + track_bundle 20 os-core + track_bundle 20 test-bundle + gen_file_plain 20 test-bundle foo + + # delete "foo" from test-bundle + set_os_release 30 os-core + track_bundle 30 os-core + track_bundle 30 test-bundle + + # make modification (add new file) to test-bundle + set_os_release 40 os-core + track_bundle 40 os-core + track_bundle 40 test-bundle + gen_file_plain 40 test-bundle foobar +} + +@test "no subtraction for two deleted files" { + sudo $CREATE_UPDATE --osversion 10 --statedir $DIR --format 3 + set_latest_ver 10 + sudo $CREATE_UPDATE --osversion 20 --statedir $DIR --format 3 + set_latest_ver 20 + sudo $CREATE_UPDATE --osversion 30 --statedir $DIR --format 3 + set_latest_ver 30 + sudo $CREATE_UPDATE --osversion 40 --statedir $DIR --format 3 + set_latest_ver 40 + + # If the file is absent in test-bundle, this means it was subtracted. If + # present, subtraction was not performed. + hash1=$(hash_for 40 test-bundle "/foo") + [ -n "$hash1" ] +} + + +# vi: ft=sh ts=8 sw=2 sts=2 et tw=80