Merge pull request #292 from shlevy/git-rev-test

Add eval test for specific git revision
This commit is contained in:
Eelco Dolstra 2016-04-14 20:05:00 +02:00
commit 2f0f7406d4
3 changed files with 48 additions and 1 deletions

View file

@ -7,7 +7,7 @@ use Setup;
my $db = Hydra::Model::DB->new; my $db = Hydra::Model::DB->new;
use Test::Simple tests => 72; use Test::Simple tests => 76;
hydra_setup($db); hydra_setup($db);
@ -75,6 +75,13 @@ my @scminputs = (
uri => "$jobsBaseUri/git-repo", uri => "$jobsBaseUri/git-repo",
update => getcwd . "/jobs/git-update.sh" update => getcwd . "/jobs/git-update.sh"
}, },
{
name => "git-rev",
nixexpr => "git-rev-input.nix",
type => "git",
uri => "$jobsBaseUri/git-repo 7f60df502b96fd54bbfa64dd94b56d936a407701",
update => getcwd . "/jobs/git-rev-update.sh"
},
{ {
name => "deepgit", name => "deepgit",
nixexpr => "deepgit-input.nix", nixexpr => "deepgit-input.nix",

View file

@ -0,0 +1,10 @@
with import ./config.nix;
{ src }:
{
copy =
mkDerivation {
name = "git-rev-input";
builder = ./scm-builder.sh;
inherit src;
};
}

30
tests/jobs/git-rev-update.sh Executable file
View file

@ -0,0 +1,30 @@
#! /bin/sh
set -e
repo=git-repo
export HOME=$(pwd)
STATE_FILE=$(pwd)/.git-rev-state
if test -e $STATE_FILE; then
state=1
rm $STATE_FILE
else
state=0
touch $STATE_FILE
fi
echo "STATE: $state"
case $state in
(0) echo "::Create repo. -- continue -- updated::"
git init $repo
cd $repo
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
touch foo
git add foo
GIT_AUTHOR_DATE="1970-01-01T00:00:00 +0000" GIT_COMMITTER_DATE="1970-01-01T00:00:00 +0000" git commit -m "Add foo"
;;
(*) echo "::End. -- stop -- nothing::"
rm -rf $repo
;;
esac