diff options
Diffstat (limited to 't/11-git.t')
-rwxr-xr-x | t/11-git.t | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/t/11-git.t b/t/11-git.t deleted file mode 100755 index 0322872..0000000 --- a/t/11-git.t +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env perl - -use 5.16.0; -use strict; -use warnings FATAL => 'all'; -use Test::More; -use Capture::Tiny qw/ capture_merged /; -use FindBin '$RealBin'; -use lib $RealBin; -use Test::Sbotools qw/ set_gpg_verify set_repo sbosnap /; - -if ($ENV{TEST_INSTALL}) { - plan tests => 5; -} else { - plan skip_all => 'Only run these tests if TEST_INSTALL=1'; -} - -sub cleanup { - capture_merged { - system(qw!rm -rf !, "/tmp/gitrepo"); - if (defined $ENV{TRAVIS} and $ENV{TRAVIS} eq 'true') { - system(qw!userdel test!); - system(qw!groupdel test!); - } - }; -} - -sub slurp { - my $file = shift; - local $/; - open my $fh, '<', $file or return undef; - my $contents = <$fh>; - return $contents; -} - -cleanup(); - -# initialise repo -capture_merged { system(<<"END"); }; -rm -fr /tmp/gitrepo; -mkdir -p /tmp/gitrepo; -cd /tmp/gitrepo; - -git init; -echo -n "Hello" > test; -git add test; -git commit -m 'initial'; - -git checkout -b b1; -echo -n "Hello World." > test; -git commit -am 'branch commit'; - -git checkout master; -echo -n "Hello World" > test; -git commit -am 'master commit'; -END - -if (defined $ENV{TRAVIS} and $ENV{TRAVIS} eq 'true') { -capture_merged { system(<<"END"); }; -groupadd -g 199 test -useradd -u 199 -g 199 -d /tmp test -chown -R 199:199 /tmp/gitrepo - -git config --system --add safe.directory /tmp/gitrepo/.git -END -} - -set_gpg_verify('FALSE'); -set_repo("/tmp/gitrepo/"); - -# 1: sbosnap get initial repo -sbosnap 'fetch', { expected => qr!Pulling SlackBuilds tree.*Cloning into '/usr/sbo/repo'!s }; - -# 2-3: check ownership of repodir if under TRAVIS -SKIP: { - skip "Only run under Travis CI", 2 unless defined $ENV{TRAVIS} and $ENV{TRAVIS} eq 'true'; - - my @fnames = glob "/tmp/gitrepo/.git/objects/*/*"; - - my @stat = stat shift @fnames; - is ($stat[4], 199, "Correct owner uid for /tmp/gitrepo"); - is ($stat[5], 199, "Correct owner gid for /tmp/gitrepo"); -} - -# make a conflict -capture_merged { system(<<"END"); }; -cd /tmp/gitrepo -if find /tmp/gitrepo . -maxdepth 0 -user test; then - sudo -u test git reset --hard b1 -else - git reset --hard b1 -fi -END - -# 4: sbosnap update through merge conflict -sbosnap 'update', { expected => qr!Updating SlackBuilds tree.*master.*->.*origin/master.*forced update.*HEAD is now at!s }; - -# 5: make sure test repo is merged correctly -is (slurp('/usr/sbo/repo/test'), 'Hello World.', 'repo test file updated correctly'); - -# Cleanup -END { - cleanup(); -} |