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 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.