Add eval test for specific git revision

This commit is contained in:
Shea Levy 2016-04-12 16:27:11 -04:00
parent 49f94bac3a
commit 10e036238c
3 changed files with 49 additions and 1 deletions

View file

@ -7,7 +7,7 @@ use Setup;
my $db = Hydra::Model::DB->new;
use Test::Simple tests => 72;
use Test::Simple tests => 76;
hydra_setup($db);
@ -75,6 +75,13 @@ my @scminputs = (
uri => "$jobsBaseUri/git-repo",
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",
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;
};
}

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

@ -0,0 +1,31 @@
#! /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"
git tag -a -m "First Tag." tag0
;;
(*) echo "::End. -- stop -- nothing::"
rm -rf $repo
;;
esac