Merge pull request #1894 from Microsoft/updateRwcAndTest262Runner

Update rwc and test262 runner
This commit is contained in:
Yui 2015-02-03 16:23:18 -08:00
commit 680a71665f
4 changed files with 41 additions and 20 deletions

View file

@ -457,14 +457,16 @@ directory(builtLocalDirectory);
var run = path.join(builtLocalDirectory, "run.js");
compileFile(run, harnessSources, [builtLocalDirectory, tscFile].concat(libraryTargets).concat(harnessSources), [], /*useBuiltCompiler:*/ true);
var internalTests = "internal/"
var localBaseline = "tests/baselines/local/";
var refBaseline = "tests/baselines/reference/";
var localRwcBaseline = "tests/baselines/rwc/local/";
var refRwcBaseline = "tests/baselines/rwc/reference/";
var localRwcBaseline = path.join(internalTests, "baselines/rwc/local");
var refRwcBaseline = path.join(internalTests, "baselines/rwc/reference");
var localTest262Baseline = "tests/baselines/test262/local/";
var refTest262Baseline = "tests/baselines/test262/reference/";
var localTest262Baseline = path.join(internalTests, "baselines/test262/local");
var refTest262Baseline = path.join(internalTests, "baselines/test262/reference");
desc("Builds the test infrastructure using the built compiler");
task("tests", ["local", run].concat(libraryTargets));
@ -497,11 +499,13 @@ function cleanTestDirs() {
jake.rmRf(localBaseline);
}
// Clean the local Rwc baselines directory
// Clean the local Rwc baselines directory
if (fs.existsSync(localRwcBaseline)) {
jake.rmRf(localRwcBaseline);
}
jake.mkdirP(localRwcBaseline);
jake.mkdirP(localTest262Baseline);
jake.mkdirP(localBaseline);
}
@ -513,8 +517,8 @@ function writeTestConfigFile(tests, testConfigFile) {
}
function deleteTemporaryProjectOutput() {
if (fs.existsSync(localBaseline + "projectOutput/")) {
jake.rmRf(localBaseline + "projectOutput/");
if (fs.existsSync(path.join(localBaseline, "projectOutput/"))) {
jake.rmRf(path.join(localBaseline, "projectOutput/"));
}
}

View file

@ -1569,21 +1569,32 @@ module Harness {
export interface BaselineOptions {
LineEndingSensitive?: boolean;
Subfolder?: string;
Baselinefolder?: string;
}
export function localPath(fileName: string, subfolder?: string) {
return baselinePath(fileName, 'local', subfolder);
export function localPath(fileName: string, baselineFolder?: string, subfolder?: string) {
if (baselineFolder === undefined) {
return baselinePath(fileName, 'local', 'tests/baselines', subfolder);
}
else {
return baselinePath(fileName, 'local', baselineFolder, subfolder);
}
}
function referencePath(fileName: string, subfolder?: string) {
return baselinePath(fileName, 'reference', subfolder);
function referencePath(fileName: string, baselineFolder?: string, subfolder?: string) {
if (baselineFolder === undefined) {
return baselinePath(fileName, 'reference', 'tests/baselines', subfolder);
}
else {
return baselinePath(fileName, 'reference', baselineFolder, subfolder);
}
}
function baselinePath(fileName: string, type: string, subfolder?: string) {
function baselinePath(fileName: string, type: string, baselineFolder: string, subfolder?: string) {
if (subfolder !== undefined) {
return Harness.userSpecifiedroot + 'tests/baselines/' + subfolder + '/' + type + '/' + fileName;
return Harness.userSpecifiedroot + baselineFolder + '/' + subfolder + '/' + type + '/' + fileName;
} else {
return Harness.userSpecifiedroot + 'tests/baselines/' + type + '/' + fileName;
return Harness.userSpecifiedroot + baselineFolder + '/' + type + '/' + fileName;
}
}
@ -1637,7 +1648,7 @@ module Harness {
return;
}
var refFilename = referencePath(relativeFilename, opts && opts.Subfolder);
var refFilename = referencePath(relativeFilename, opts && opts.Baselinefolder, opts && opts.Subfolder);
if (actual === null) {
actual = '<no content>';
@ -1675,7 +1686,7 @@ module Harness {
opts?: BaselineOptions): void {
var actual = <string>undefined;
var actualFilename = localPath(relativeFilename, opts && opts.Subfolder);
var actualFilename = localPath(relativeFilename, opts && opts.Baselinefolder, opts && opts.Subfolder);
if (runImmediately) {
actual = generateActual(actualFilename, generateContent);

View file

@ -26,7 +26,10 @@ module RWC {
var otherFiles: { unitName: string; content: string; }[] = [];
var compilerResult: Harness.Compiler.CompilerResult;
var compilerOptions: ts.CompilerOptions;
var baselineOpts: Harness.Baseline.BaselineOptions = { Subfolder: 'rwc' };
var baselineOpts: Harness.Baseline.BaselineOptions = {
Subfolder: 'rwc',
Baselinefolder: 'internal/baselines'
};
var baseName = /(.*)\/(.*).json/.exec(ts.normalizeSlashes(jsonPath))[2];
var currentDirectory: string;
@ -170,7 +173,7 @@ module RWC {
}
class RWCRunner extends RunnerBase {
private static sourcePath = "tests/cases/rwc/";
private static sourcePath = "internal/cases/rwc/";
/** Setup the runner's tests so that they are ready to be executed by the harness
* The first test should be a describe/it block that sets up the harness's compiler instance appropriately

View file

@ -3,7 +3,7 @@
/// <reference path='syntacticCleaner.ts' />
class Test262BaselineRunner extends RunnerBase {
private static basePath = 'tests/cases/test262';
private static basePath = 'internal/cases/test262';
private static helpersFilePath = 'tests/cases/test262-harness/helpers.d.ts';
private static helperFile = {
unitName: Test262BaselineRunner.helpersFilePath,
@ -15,7 +15,10 @@ class Test262BaselineRunner extends RunnerBase {
target: ts.ScriptTarget.Latest,
module: ts.ModuleKind.CommonJS
};
private static baselineOptions: Harness.Baseline.BaselineOptions = { Subfolder: 'test262' };
private static baselineOptions: Harness.Baseline.BaselineOptions = {
Subfolder: 'test262',
Baselinefolder: 'internal/baselines'
};
private static getTestFilePath(filename: string): string {
return Test262BaselineRunner.basePath + "/" + filename;