#!/usr/bin/env perl # Some tests for the behavior when there is a conflict in _darcs/patches/pending use Test::More qw/no_plan/; use lib ('lib/perl'); use Test::Darcs; use Shell::Command; use strict; use vars qw/$DARCS/; die 'darcs not found' unless $ENV{DARCS} || (-x "$ENV{PWD}/../darcs"); $DARCS = $ENV{DARCS} || "$ENV{PWD}/../darcs"; cleanup 'temp1'; mkpath 'temp1'; chdir 'temp1'; darcs 'init'; open(PENDING,'>_darcs/patches/pending') || die "couldn't open pending: $!"; print PENDING '{ addfile ./date.t addfile ./date_moved.t move ./date.t ./date_moved.t }'; close(PENDING); # now watch the fireworks as all sorts of things fail like( darcs ('whatsnew'), qr/pending has conflicts/, "darcs whatsnew reports 'pending has conflicts'"); #### my $revert_output = `echo y | $DARCS revert -a 2>&1`; like($revert_output, qr/pending has conflicts/, 'darcs revert reports "pending has conflicts"'); ### my $record_output = darcs(qw/record -A x -a -m foo/); like($record_output, qr/pending has conflicts/, 'darcs record reports "pending has conflicts"'); like( darcs('repair'), qr/The repository is already consistent, no changes made/i, 'darcs repair finds no problem'); chdir '../'; cleanup 'temp1'; ok((!-d 'temp1'), 'temp1 directory was deleted');