From aee1cdfd5adbd75ed433457636b91c2fb5e18d5b Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Mon, 29 Aug 2022 10:21:59 +1200 Subject: [PATCH] Bug 31479: Option to skip t/00-check-atomic-updates.t when building custom packages This enhancement adds an option to skip the check for leftover atomic updates when building custom packages. This is particularly useful for Koha providers or anyone else building Koha packages manually. In practice, this could be run like: sudo CUSTOM_PACKAGE=1 ./debian/build-git-snapshot -r ~/debian -v 21.11.01git -d This test plan should all take place within the shell. 0. sudo koha-shell kohadev 1. Run prove t/00-check-atomic-updates.t and confirm the test passes 2. Add a fake atomic update to installer/data/mysql/atomicupdate/ . You can use the example from https://wiki.koha-community.org/wiki/Database_updates#How_to_write_an_atomicupdate_file 3. Run prove t/00-check-atomic-updates.t and notice the test fails 4. Set the CUSTOM_PACKAGE environment variable so we can test this. You can either set on the commandline (using export) or in /etc/environment (remember to run source /etc/environment so the changes are accessed) 5. Run prove t/00-check-atomic-updates.t and the test should now pass. Sponsored-by: Catalyst IT --- t/00-check-atomic-updates.t | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/t/00-check-atomic-updates.t b/t/00-check-atomic-updates.t index d9ad730815..75bab4576f 100755 --- a/t/00-check-atomic-updates.t +++ b/t/00-check-atomic-updates.t @@ -19,19 +19,23 @@ use Modern::Perl; use Test::More; use File::Find; -my $dir = ('installer/data/mysql/atomicupdate'); -my @files; +SKIP: { + skip "Building custom packages", 1, if $ENV{'CUSTOM_PACKAGE'}; -find( \&wanted, $dir ); + my $dir = ('installer/data/mysql/atomicupdate'); + my @files; -sub wanted { - push @files, $_; - return; -} + find( \&wanted, $dir ); -foreach my $f (@files) { - next if $f eq 'skeleton.pl'; - unlike( $f, qr/.*pl$/, "check for unhandled atomic updates: $f" ); -} + sub wanted { + push @files, $_; + return; + } + + foreach my $f (@files) { + next if $f eq 'skeleton.pl'; + unlike( $f, qr/.*pl$/, "check for unhandled atomic updates: $f" ); + } +}; done_testing(); -- 2.11.0