diff -r 000000000000 -r 83f4b4db085c imgtools_os/romkiteka2/test/test.buildrom.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imgtools_os/romkiteka2/test/test.buildrom.pl Tue Feb 02 01:39:43 2010 +0200
@@ -0,0 +1,179 @@
+# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+my $fails = 0;
+my $total = 0;
+
+# Each test has an input OBY file and an output OBY file.
+# runTest assumes there is also a .oby.out file which
+# contains the expected OBY output.
+
+# Adding a "." to the feature variant name (for example using
+# the option "-DFEATUREVARIANT=.phone") means that buildrom will
+# look for the variant file in ./phone.var rather than in the
+# default location of EPOCROOT/epoc32/tools/variant/phone.var
+
+# test the minimal OBY file
+
+$fails += runTest("-s", "minimal.oby", "result.oby");
+$total++;
+
+# test the include path from a feature-variant OBY file
+
+$fails += runTest("-s -DFEATUREVARIANT=.phone", "var1.oby", "result.oby");
+$total++;
+
+# test the file substitutions in a feature-variant OBY file
+
+$fails += runTest("-s -DFEATUREVARIANT=.phone", "var2.oby", "result.oby");
+$total++;
+
+# test an OBY file that is on the include path from a feature-variant
+
+$fails += runTest("-s -DFEATUREVARIANT=.phone", "varB", "result.oby");
+$total++;
+
+# test that absolute paths work everywhere
+
+createDummyInclude($ENV{'EPOCROOT'} . "epoc32/include/test/abs.hrh");
+createDummyInclude($ENV{'EPOCROOT'} . "epoc32/include/test/incA/absA.iby");
+createDummyInclude($ENV{'EPOCROOT'} . "epoc32/include/test/incB/absB.iby");
+
+$fails += runTest("-s -DFEATUREVARIANT=.abs", "var3.oby", "result.oby");
+$total++;
+
+###########################################################################
+# report the results and finish
+
+print "\n\n$fails test";
+print "s" unless ($fails == 1);
+print " failed (out of $total run).\n";
+exit 0;
+
+###########################################################################
+
+sub runTest
+{
+ my $options = shift;
+ my $inFile = shift;
+ my $outFile = shift;
+ my $expFile = "$inFile.out";
+
+ my $command = "buildrom -fm=..\\include\\featureUIDs.xml $options $inFile";
+
+ # remove the output if it already exists
+ unlink($outFile);
+
+ # run the command (it will error because we do not have everything
+ # required by rombuild, but we will get an output oby file which
+ # shows whether buildrom did the right thing or not).
+ system($command . " >nul 2>&1");
+
+ if (!open(OUTPUT, $outFile))
+ {
+ print STDERR "FAILED: $command\n\t$outFile was not created\n";
+ return 1;
+ }
+
+ if (!open(EXPECT, $expFile))
+ {
+ print STDERR "FAILED: $command\n\t$expFile was not found\n";
+ close(OUTPUT);
+ return 1;
+ }
+
+ my $outLine;
+ my $expLine;
+ my $lineNumber = 1;
+ my $outMissing = 0;
+ my $expMissing = 0;
+ my $nonMatches = 0;
+
+ while ($expLine = )
+ {
+ $expLine =~ s/^\s+//;
+ $expLine =~ s/\s+$//;
+
+ if ($outLine =