'__BUILD_NUMBER_VARIANT__' => '64099',
},
},
+
+ # Use RC_PROJECTBUILDVERSION or RC_ProjectBuildVersion if our submission version
+ # does not have 4 or more tuples.
+ {
+ 'RC_ProjectSourceVersion' => '7600.1',
+ 'RC_ProjectBuildVersion' => '26',
+ expectedResults => {
+ '__VERSION_TEXT__' => '600.1',
+ '__BUILD_NUMBER__' => '600.1',
+ '__BUILD_NUMBER_SHORT__' => '600.1',
+ '__VERSION_MAJOR__' => '600',
+ '__VERSION_MINOR__' => '1000',
+ '__VERSION_TINY__' => '0',
+ '__VERSION_BUILD__' => '26',
+ '__BUILD_NUMBER_MAJOR__' => '600',
+ '__BUILD_NUMBER_MINOR__' => '1000',
+ '__BUILD_NUMBER_VARIANT__' => '0',
+ },
+ },
+
+ {
+ 'RC_ProjectSourceVersion' => '27',
+ 'RC_ProjectBuildVersion' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '27',
+ '__BUILD_NUMBER__' => '27',
+ '__BUILD_NUMBER_SHORT__' => '27',
+ '__VERSION_MAJOR__' => '27',
+ '__VERSION_MINOR__' => '0',
+ '__VERSION_TINY__' => '0',
+ '__VERSION_BUILD__' => '14',
+ '__BUILD_NUMBER_MAJOR__' => '27',
+ '__BUILD_NUMBER_MINOR__' => '0',
+ '__BUILD_NUMBER_VARIANT__' => '0',
+ },
+ },
+
+ {
+ 'RC_ProjectSourceVersion' => '27',
+ 'RC_PROJECTBUILDVERSION' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '27',
+ '__BUILD_NUMBER__' => '27',
+ '__BUILD_NUMBER_SHORT__' => '27',
+ '__VERSION_MAJOR__' => '27',
+ '__VERSION_MINOR__' => '0',
+ '__VERSION_TINY__' => '0',
+ '__VERSION_BUILD__' => '14',
+ '__BUILD_NUMBER_MAJOR__' => '27',
+ '__BUILD_NUMBER_MINOR__' => '0',
+ '__BUILD_NUMBER_VARIANT__' => '0',
+ },
+ },
+
+ {
+ 'RC_PROJECTSOURCEVERSION' => '27',
+ 'RC_ProjectBuildVersion' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '27',
+ '__BUILD_NUMBER__' => '27',
+ '__BUILD_NUMBER_SHORT__' => '27',
+ '__VERSION_MAJOR__' => '27',
+ '__VERSION_MINOR__' => '0',
+ '__VERSION_TINY__' => '0',
+ '__VERSION_BUILD__' => '14',
+ '__BUILD_NUMBER_MAJOR__' => '27',
+ '__BUILD_NUMBER_MINOR__' => '0',
+ '__BUILD_NUMBER_VARIANT__' => '0',
+ },
+ },
+
+ {
+ 'RC_ProjectSourceVersion' => '5300.4.3.2.1',
+ 'RC_ProjectBuildVersion' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '300.4.3.2.1',
+ '__BUILD_NUMBER__' => '300.4.3.2.1',
+ '__BUILD_NUMBER_SHORT__' => '300.4.3.2.1',
+ '__VERSION_MAJOR__' => '300',
+ '__VERSION_MINOR__' => '4003',
+ '__VERSION_TINY__' => '2001',
+ '__VERSION_BUILD__' => '1',
+ '__BUILD_NUMBER_MAJOR__' => '300',
+ '__BUILD_NUMBER_MINOR__' => '4003',
+ '__BUILD_NUMBER_VARIANT__' => '2001',
+ },
+ },
+
+ {
+ 'RC_ProjectSourceVersion' => '5300.4.3.2.1',
+ 'RC_PROJECTBUILDVERSION' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '300.4.3.2.1',
+ '__BUILD_NUMBER__' => '300.4.3.2.1',
+ '__BUILD_NUMBER_SHORT__' => '300.4.3.2.1',
+ '__VERSION_MAJOR__' => '300',
+ '__VERSION_MINOR__' => '4003',
+ '__VERSION_TINY__' => '2001',
+ '__VERSION_BUILD__' => '1',
+ '__BUILD_NUMBER_MAJOR__' => '300',
+ '__BUILD_NUMBER_MINOR__' => '4003',
+ '__BUILD_NUMBER_VARIANT__' => '2001',
+ },
+ },
+
+ {
+ 'RC_PROJECTSOURCEVERSION' => '5300.4.3.2.1',
+ 'RC_ProjectBuildVersion' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '300.4.3.2.1',
+ '__BUILD_NUMBER__' => '300.4.3.2.1',
+ '__BUILD_NUMBER_SHORT__' => '300.4.3.2.1',
+ '__VERSION_MAJOR__' => '300',
+ '__VERSION_MINOR__' => '4003',
+ '__VERSION_TINY__' => '2001',
+ '__VERSION_BUILD__' => '1',
+ '__BUILD_NUMBER_MAJOR__' => '300',
+ '__BUILD_NUMBER_MINOR__' => '4003',
+ '__BUILD_NUMBER_VARIANT__' => '2001',
+ },
+ },
+
+ {
+ 'RC_PROJECTSOURCEVERSION' => '5300.4.3.2.1',
+ 'RC_PROJECTBUILDVERSION' => '14',
+ expectedResults => {
+ '__VERSION_TEXT__' => '300.4.3.2.1',
+ '__BUILD_NUMBER__' => '300.4.3.2.1',
+ '__BUILD_NUMBER_SHORT__' => '300.4.3.2.1',
+ '__VERSION_MAJOR__' => '300',
+ '__VERSION_MINOR__' => '4003',
+ '__VERSION_TINY__' => '2001',
+ '__VERSION_BUILD__' => '1',
+ '__BUILD_NUMBER_MAJOR__' => '300',
+ '__BUILD_NUMBER_MINOR__' => '4003',
+ '__BUILD_NUMBER_VARIANT__' => '2001',
+ },
+ },
);
# This test should only be run on Windows
my $toolsPath = $ENV{'WEBKIT_LIBRARIES'};
my $autoVersionScript = File::Spec->catfile($toolsPath, 'tools', 'scripts', 'auto-version.pl');
my $testOutputDir = tempdir(CLEANUP => 1);
- `RC_ProjectSourceVersion="$testCase->{'RC_ProjectSourceVersion'}" perl $autoVersionScript $testOutputDir`;
+ my $testFlags;
+ if ($testCase->{'RC_ProjectSourceVersion'}) {
+ $testFlags = " RC_ProjectSourceVersion=\"$testCase->{'RC_ProjectSourceVersion'}\"";
+ } elsif ($testCase->{'RC_PROJECTSOURCEVERSION'}) {
+ $testFlags = " RC_PROJECTSOURCEVERSION=\"$testCase->{'RC_PROJECTSOURCEVERSION'}\"";
+ } else {
+ die ("Missing the RC_ProjectSourceVersion environment variable.\n");
+ }
+
+ if ($testCase->{'RC_ProjectBuildVersion'}) {
+ $testFlags .= " RC_ProjectBuildVersion=\"$testCase->{'RC_ProjectBuildVersion'}\"";
+ } elsif ($testCase->{'RC_PROJECTBUILDVERSION'}) {
+ $testFlags .= " RC_PROJECTBUILDVERSION=\"$testCase->{'RC_PROJECTBUILDVERSION'}\"";
+ }
+
+ `$testFlags perl $autoVersionScript $testOutputDir`;
my $expectedResults = $testCase->{expectedResults};
chomp($line);
my $expectedResultValue = $expectedResults->{$expectedResultKey};
- is($line, $expectedResultValue, "$testCase->{'RC_ProjectSourceVersion'}: $expectedResultKey");
+ if ($testCase->{'RC_ProjectSourceVersion'}) {
+ is($line, $expectedResultValue, "$testCase->{'RC_ProjectSourceVersion'}: $expectedResultKey");
+ } else {
+ is($line, $expectedResultValue, "$testCase->{'RC_PROJECTSOURCEVERSION'}: $expectedResultKey");
+ }
}
}