Subversion Repositories DevTools

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

########################################################################
# Copyright (c) VIX TECHNOLOGY (AUST) LTD
#
# Module name   : Test_RelPath.pl
# Module type   : Makefile system
# Compiler(s)   : Perl
# Environment(s): jats
#
# Description   : Test the FileUtils:RelPath function 
#
# Usage:
#
# Version   Who      Date        Description
#
#......................................................................#

require 5.008_002;
use strict;
use warnings;

use Pod::Usage;
use Getopt::Long;

use JatsError;
use FileUtils;

my %results;
my $testNum = 0;
my $failCount= 0;

#   Data format
#   [0]         - Target
#   [1]         - Here (starting Location)
#   [2]         - Expected Result
#
my @testData = (
    ['/aaaa/bbbb/cccc'          , '/aaaa/bbbb/cccc/dddd/eeee', '../..'],
    ['/aaaa/bbbb/cccc'          , '/aaaa/bbbb/cccc/dddd'     , '..'],
    ['/aaaa/bbbb/cccc/dddd/eeee', '/aaaa/bbbb/cccc/dddd/eeee', '.'],
    ['/aaaa/bbbb/cccc/dddd'     , '/aaaa/bbbb/cccc',         , 'dddd'],
    ['/aaaa/bbbb/cccc/dddd/eeee', '/aaaa/bbbb/cccc',         , 'dddd/eeee'],
    ['/aaaa/bbbb/cccc/dddd/eeee', '/aaaa/bbbb/cccc/ffff/gggg', '../../dddd/eeee'],
    ['/aaaa/bbbb/cccc/dddd/eeee', '/zzzz/yyyy/xxxx/wwww'     , '../../../../aaaa/bbbb/cccc/dddd/eeee'],
  );


for my $subtest( @testData)
{
    $testNum++;
    my $result = RelPath( $subtest->[0], $subtest->[1] );
    if ($result ne $subtest->[2])
    {
        $results{$testNum} = $result;
        $failCount++;
    }
}
if (scalar keys %results)
{
    DebugDumpData("Failed Tests", \%results);
}
Message ("RelPath Test: $testNum, Failed: $failCount");
Error("Failed Tests Detected") 
    if $failCount;