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
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
Aleisha Amohia 2022-08-29 10:21:59 +12:00 committed by Tomas Cohen Arazi
parent d6d7d4b876
commit 80f8556619
No known key found for this signature in database
GPG Key ID: 0A272EA1B2F3C15F
1 changed files with 15 additions and 11 deletions

View File

@ -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();