diff --git a/test/undo.t b/test/undo.t index 5ff71e732..37307ae48 100755 --- a/test/undo.t +++ b/test/undo.t @@ -33,8 +33,12 @@ use Test::More tests => 19; delete $ENV{'TASKDATA'}; delete $ENV{'TASKRC'}; +use File::Basename; +my $ut = basename ($0); +my $rc = $ut . '.rc'; + # Create the rc file. -if (open my $fh, '>', 'undo.rc') +if (open my $fh, '>', $rc) { print $fh "data.location=.\n", "confirmation=no\n"; @@ -42,35 +46,35 @@ if (open my $fh, '>', 'undo.rc') } # Test the add/done/undo commands. -my $output = qx{../src/task rc:undo.rc add one 2>&1; ../src/task rc:undo.rc info 1 2>&1}; -ok (-r 'pending.data', 'pending.data created'); -ok (! -r 'completed.data', 'completed.data not created'); -like ($output, qr/Status\s+Pending\n/, 'Pending'); +my $output = qx{../src/task rc:$rc add one 2>&1; ../src/task rc:$rc info 1 2>&1}; +ok (-r 'pending.data', "$ut: pending.data created"); +ok (! -r 'completed.data', "$ut: completed.data not created"); +like ($output, qr/Status\s+Pending\n/, "$ut: Pending"); -$output = qx{../src/task rc:undo.rc 1 done 2>&1; ../src/task rc:undo.rc info 1 2>&1}; -ok (! -r 'completed.data', 'completed.data created'); -like ($output, qr/Status\s+Completed\n/, 'Completed'); +$output = qx{../src/task rc:$rc 1 done 2>&1; ../src/task rc:$rc info 1 2>&1}; +ok (! -r 'completed.data', "$ut: completed.data created"); +like ($output, qr/Status\s+Completed\n/, "$ut: Completed"); -$output = qx{../src/task rc:undo.rc undo 2>&1; ../src/task rc:undo.rc info 1 2>&1}; -ok (-r 'completed.data', 'completed.data created'); -like ($output, qr/Status\s+Pending\n/, 'Pending'); +$output = qx{../src/task rc:$rc undo 2>&1; ../src/task rc:$rc info 1 2>&1}; +ok (-r 'completed.data', "$ut: completed.data created"); +like ($output, qr/Status\s+Pending\n/, "$ut: Pending"); -$output = qx{../src/task rc:undo.rc 1 done 2>&1; ../src/task rc:undo.rc list 2>&1 >/dev/null}; -like ($output, qr/No matches/, 'No matches'); +$output = qx{../src/task rc:$rc 1 done 2>&1; ../src/task rc:$rc list 2>&1 >/dev/null}; +like ($output, qr/No matches/, "$ut: No matches"); # Bug 1060: Test that if undo is given an argument it catches and reports the correct error. -$output = qx{../src/task rc:undo.rc undo 1 2>&1}; -unlike ($output, qr/Unknown error/, 'No unknown error'); -like ($output, qr/The undo command does not allow further task modification/, 'Correct error caught and reported'); +$output = qx{../src/task rc:$rc undo 1 2>&1}; +unlike ($output, qr/Unknown error/, "$ut: No unknown error"); +like ($output, qr/The undo command does not allow further task modification/, "$ut: Correct error caught and reported"); # Add a new task and undo it. -$output = qx{../src/task rc:undo.rc add two 2>&1; ../src/task rc:undo.rc info 1 2>&1}; -unlike ($output, qr/Unknown error/, 'No unknown error'); -like ($output, qr/Status\s+Pending\n/, 'Pending'); +$output = qx{../src/task rc:$rc add two 2>&1; ../src/task rc:$rc info 1 2>&1}; +unlike ($output, qr/Unknown error/, "$ut: No unknown error"); +like ($output, qr/Status\s+Pending\n/, "$ut: Pending"); -$output = qx{../src/task rc:undo.rc undo 2>&1; ../src/task rc:undo.rc info 1 2>&1}; -like ($output, qr/Task removed\.\n/, 'Task removed'); -like ($output, qr/No matches\.\n/, 'No matches'); +$output = qx{../src/task rc:$rc undo 2>&1; ../src/task rc:$rc info 1 2>&1}; +like ($output, qr/Task removed\.\n/, "$ut: Task removed"); +like ($output, qr/No matches\.\n/, "$ut: No matches"); # Inspect backlog.data if (open my $fh, '<', 'backlog.data') @@ -79,21 +83,21 @@ if (open my $fh, '<', 'backlog.data') close $fh; diag ($_) for @lines; - is (scalar (@lines), 4, '4 lines of backlog'); - ok (index ($lines[0], '"status":"pending"') != -1, '[0] pending'); - ok (index ($lines[1], '"status":"completed"') != -1, '[1] completed'); - ok (index ($lines[2], '"status":"pending"') != -1, '[2] pending'); - ok (index ($lines[3], '"status":"completed"') != -1, '[3] completed'); + is (scalar (@lines), 4, "$ut: 4 lines of backlog"); + ok (index ($lines[0], '"status":"pending"') != -1, "$ut: [0] pending"); + ok (index ($lines[1], '"status":"completed"') != -1, "$ut: [1] completed"); + ok (index ($lines[2], '"status":"pending"') != -1, "$ut: [2] pending"); + ok (index ($lines[3], '"status":"completed"') != -1, "$ut: [3] completed"); } else { - fail ('4 lines of backlog'); - fail ('[0] pending'); - fail ('[1] completed'); - fail ('[2] pending'); - fail ('[3] completed'); + fail ("$ut: 4 lines of backlog"); + fail ("$ut: [0] pending"); + fail ("$ut: [1] completed"); + fail ("$ut: [2] pending"); + fail ("$ut: [3] completed"); } # Cleanup. -unlink qw(pending.data completed.data undo.data backlog.data undo.rc); +unlink qw(pending.data completed.data undo.data backlog.data), $rc; exit 0;