BEGIN {
if
(!
$ENV
{DIST_MGR_GIT_TEST} || !
$ENV
{DIST_MGR_REPO_DIR}) {
plan
skip_all
=>
"DIST_MGR_GIT_TEST and DIST_MGR_REPO_DIR env vars must be set"
;
}
}
my
$repos
=
$ENV
{DIST_MGR_REPO_DIR};
my
$repo
=
'test-push'
;
my
$repo_dir
=
"$repos/$repo"
;
my
$cwd
= getcwd();
like
$cwd
, _dist_dir_re(),
"in root dir ok"
;
die
"not in the root dir"
if
$cwd
!~ _dist_dir_re();
chdir
$repos
or
die
"Can't change into 'repos' dir $repos: $!"
;
is getcwd(),
$repos
,
"in repos dir ok"
;
croak
"not in the 'repos' dir!"
if
getcwd() ne
$repos
;
my
$git_ok
= _validate_git();
{
if
(!
$git_ok
) {
done_testing;
exit
;
}
}
{
if
(! -e
'test-push'
) {
capture_merged {
};
is $?, 0,
"git cloned 'test-push' test repo ok"
;
}
}
{
chdir
$repo_dir
or
die
$!;
is getcwd(),
$repo_dir
,
"in test-push repo dir ok"
;
croak
"not in the test-push repo dir!"
if
getcwd() ne
$repo_dir
;
is
eval
{ git_release(); 1 },
undef
,
"git_release() requires a version ok"
;
like $@,
qr/requires a version/
,
"...and error is sane"
;
capture_merged {
git_release(0.01, 0);
};
}
chdir
$cwd
or
die
$!;
like getcwd(), _dist_dir_re(),
"back in root dir ok"
;
remove_init();
done_testing;