aboutsummaryrefslogtreecommitdiff
path: root/t/11-git.t
diff options
context:
space:
mode:
Diffstat (limited to 't/11-git.t')
-rwxr-xr-xt/11-git.t104
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();
-}