NAME
Git::Repository::Plugin::Test - Helper methods for testing interactions with Git
VERSION
version 0.002
SYNOPSIS
use Test::More tests => 2;
use Git::Repository qw(Test);
# easily create a temporary repository to test with
my $repo = Git::Repository->new_tmp_repo();
# run Git commands as tests
$repo->run_exit_ok('status');
$repo->run_exit_is(1, 'nonexistant-subcommand');
# install a hook into the temporary repository
$repo->install_hook('my-hook-file', 'pre-receive');
DESCRIPTION
Adds run_exit_ok
and run_exit_is
methods to the Git::Repository object that can be used for testing Git operations.
METHODS
Git::Repository::Plugin::Test adds the following methods:
run_exit_ok(@cmd)
Like Git::Repository's run
but exceptions are caught and reported as test failures.
run_exit_is($expected_exit_code, @cmd)
Like Git::Repository's run
but exceptions are caught and reported as test failures unless exit code matches expected exit code.
init_tmp_repo(@init_opts)
Initializes a new repository in a temporary directory. Options, such as --bare
, can be passed in.
new_tmp_repo(@init_opts, $options)
Initializes a new repository in a temporary directory and returns a Git::Repository object. Like init_tmp_repo
, new_tmp_repo
accepts a list of options for the init
command and like Git::Repository's new
new_tmp_repo
also accepts a reference to an option hash.
install_hook($source, $target)
Install a $target
, e.g. 'pre-receive', hook into the repository.
SEE ALSO
Git::Repository, Test::Builder
AUTHOR
Nathaniel G. Nutter <nnutter@cpan.org>
COPYRIGHT
Copyright 2013 - Nathaniel G. Nutter
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.