use strict;
use Test::Builder::Tester;
use Test::More tests => 14; # includes those in t/setup_common
use Test::File;
my $test_directory = 'test_files';
SKIP: {
skip "setup already done", 6 if -d $test_directory;
require "t/setup_common";
};
chdir $test_directory or print "bail out! Could not change directories: $!";
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Subroutines are defined
{
my @subs = qw( link_count_is_ok link_count_gt_ok link_count_lt_ok );
foreach my $sub ( @subs )
{
no strict 'refs';
ok( defined &{$sub}, "$sub is defined" );
}
}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Stuff that should work (single link)
my $test_name = "This is my test name";
my $readable = 'readable';
my $readable_sym = 'readable_sym';
my $not_there = 'not_there';
my $dangle_sym = 'dangle_sym';
test_out( "ok 1 - $test_name\nok 2 - $test_name\nok 3 - $test_name" );
link_count_lt_ok( $readable, 100, $test_name );
link_count_gt_ok( $readable, 0, $test_name );
link_count_is_ok( $readable, 1, $test_name );
test_test();
test_out( "ok 1 - $readable has a link count of [1]" );
link_count_is_ok( $readable, 1 );
test_test();
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Stuff that should work (multipe links)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Stuff that should fail (missing file)
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Stuff that should fail (bad count)
test_out( "not ok 1 - $test_name" );
test_diag(
"File [$readable] points has [1] links: expected [100]!\n" .
"# Failed test '$test_name'\n" .
"# at $0 line " . line_num(+5) . "."
);
link_count_is_ok( $readable, 100, $test_name );
test_test();
test_out( "not ok 1 - $test_name" );
test_diag(
"File [$readable] points has [1] links: expected less than [0]!\n" .
"# Failed test '$test_name'\n" .
"# at $0 line " . line_num(+5) . "."
);
link_count_lt_ok( $readable, 0, $test_name );
test_test();
test_out( "not ok 1 - $test_name" );
test_diag(
"File [readable] points has [1] links: expected more than [100]!\n" .
"# Failed test '$test_name'\n" .
"# at $0 line " . line_num(+5) . "."
);
link_count_gt_ok( $readable, 100, $test_name );
test_test();
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
END {
chdir '..' or print "bail out! Could not change directories: $!";
unlink glob( "test_files/*" );
rmdir "test_files";
}