Fix git test suite to use a bare repo.
authorJoey Hess <joey@gnu.kitenet.net>
Sat, 4 Apr 2009 18:58:34 +0000 (14:58 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Sat, 4 Apr 2009 18:58:34 +0000 (14:58 -0400)
This works around an enormous (and, in this context, enormously confusing)
message that git has begun to print when one attempts to push changes into
a non-bare repo.

As a bonus, it now tests whether ikiwiki-makerepo works.

debian/changelog
t/git.t

index 6c30c8ff5568b7929001367f22abaffb33c22ef1..fab20985d20c5abf2179ffbdd06aa450ff56b7a2 100644 (file)
@@ -1,4 +1,4 @@
-ikiwiki (3.09) UNRELEASED; urgency=low
+ikiwiki (3.09) unstable; urgency=low
 
   * inline: Add title_natural sort order, using Sort::Naturally
     (chrysn)
@@ -13,8 +13,9 @@ ikiwiki (3.09) UNRELEASED; urgency=low
   * Fix documentation of anonok_pagespec. Closes: #521793
   * Add missing suggests on libtext-textile-perl. Closes: #522039
   * recentchanges: change to using do=goto links for user links.
+  * Fix git test suite to use a bare repo.
 
- -- Joey Hess <joeyh@debian.org>  Thu, 19 Mar 2009 15:32:49 -0400
+ -- Joey Hess <joeyh@debian.org>  Sat, 04 Apr 2009 14:33:49 -0400
 
 ikiwiki (3.08) unstable; urgency=low
 
diff --git a/t/git.t b/t/git.t
index b3aa6a80b7d3556d16cfd03e28ce1461b092ee77..f1c24b3598e1709d9d58a9f962df4fef1f12a3f1 100755 (executable)
--- a/t/git.t
+++ b/t/git.t
@@ -3,19 +3,17 @@ use warnings;
 use strict;
 
 my $dir;
-my $gitrepo;
 BEGIN {
        $dir="/tmp/ikiwiki-test-git.$$";
-       $gitrepo="$dir/repo";
        my $git=`which git`;
        chomp $git;
-       if (! -x $git || ! mkdir($dir) || ! mkdir($gitrepo)) {
+       if (! -x $git || ! mkdir($dir)) {
                eval q{
-                       use Test::More skip_all => "git not available or could not make test dirs"
+                       use Test::More skip_all => "git not available or could not make test dir"
                }
        }
 }
-use Test::More tests => 16;
+use Test::More tests => 18;
 
 BEGIN { use_ok("IkiWiki"); }
 
@@ -25,17 +23,16 @@ $config{srcdir} = "$dir/src";
 IkiWiki::loadplugins();
 IkiWiki::checkconfig();
 
-system "cd $gitrepo && git init >/dev/null 2>&1";
-system "cd $gitrepo && echo dummy > dummy; git add . >/dev/null 2>&1";
-system "cd $gitrepo && git commit -m Initial >/dev/null 2>&1";
-system "git clone -l -s $gitrepo $config{srcdir} >/dev/null 2>&1";
+ok (mkdir($config{srcdir}));
+is (system("./ikiwiki-makerepo git $config{srcdir} $dir/repo"), 0);
 
 my @changes;
 @changes = IkiWiki::rcs_recentchanges(3);
 
 is($#changes, 0); # counts for dummy commit during repo creation
-is($changes[0]{message}[0]{"line"}, "Initial");
-is($changes[0]{pages}[0]{"page"}, "dummy");
+# ikiwiki-makerepo's first commit is setting up the .gitignore
+is($changes[0]{message}[0]{"line"}, "initial commit");
+is($changes[0]{pages}[0]{"page"}, ".gitignore");
 
 # Web commit
 my $test1 = readfile("t/test1.mdwn");