Index: config/windows/generate.wsf =================================================================== --- config/windows/generate.wsf (revision 476191) +++ config/windows/generate.wsf (working copy) @@ -116,6 +116,7 @@ InitVSObjects(currentCfg); PrintVars(logStream); + PrintVars(WScript.StdOut); var solutionName = currentCfg + ".sln"; Index: config/windows/projectdef.js =================================================================== --- config/windows/projectdef.js (revision 476191) +++ config/windows/projectdef.js (working copy) @@ -27,6 +27,9 @@ var TristateTrue = -1; var TristateFalse = 0; +// the timeout for the exec utility +var execTimeout = 180; + var VCProjectEngine = null; var ICConvertTool = "ICProjConvert90.exe"; @@ -746,6 +749,28 @@ var projectDefs = new Array(); + var srcdir = "%SRCDIR%\\etc\\config\\windows"; + var bindir = "$(SolutionDir)%CONFIG%\\bin"; + var exec = bindir + "\\exec.exe"; + var test = bindir + "\\sanity_test"; + + // create test_locale_sanity project + var sanityDef = this.clone(); + sanityDef.Name = "test_locale_sanity"; + sanityDef.FilterDefs.push( + new FilterDef("Script Files", null, "js;wsf", eFileTypeScript, false). + addFiles(srcdir, new Array("run_locale_utils.wsf"))); + if (null == sanityDef.PreBuildCmd) + sanityDef.PreBuildCmd = ""; + else + sanityDef.PreBuildCmd += "\r\n"; + sanityDef.PreBuildCmd += + "echo cscript /nologo \"" + srcdir + "\\run_locale_utils.wsf\"" + + " /s /b:\"" + bindir + "\" > \"" + test + ".bat\""; + sanityDef.CustomBuildCmd = "\"" + exec + "\" -t " + execTimeout + " \"" + test + ".bat\""; + sanityDef.CustomBuildOut = test + ".out"; + projectDefs.push(sanityDef); + for (var i = 0; i < this.arrLocales.length; ++i) { var locale = this.arrLocales[i]; @@ -777,6 +802,8 @@ WScript.Quit(3); } + test = bindir + "\\" + locale.Name; + var projectDef = this.clone(); projectDef.Name = "test_" + locale.Name; projectDef.FilterDefs.push( @@ -787,12 +814,18 @@ addFiles(null, new Array(srcFile.Path))); projectDef.FilterDefs.push( new FilterDef("Script Files", null, "js;wsf", eFileTypeScript, false). - addFiles("%SRCDIR%\\etc\\config\\windows", new Array("run_locale_utils.wsf"))); - projectDef.CustomBuildCmd = - "cscript /nologo \"%SRCDIR%\\etc\\config\\windows\\run_locale_utils.wsf\"" + - " /b:\"$(SolutionDir)%CONFIG%\\bin\" /f" + - " /i:\"" + nlsDir + "\"" + " /l:" + locale.Name; - projectDef.CustomBuildOut = " "; + addFiles(srcdir, new Array("run_locale_utils.wsf"))); + if (null == projectDef.PreBuildCmd) + projectDef.PreBuildCmd = ""; + else + projectDef.PreBuildCmd += "\r\n"; + projectDef.PreBuildCmd += + "echo cscript /nologo \"" + srcdir + "\\run_locale_utils.wsf\"" + + " /f /b:\"" + bindir + "\" /i:\"" + nlsDir + "\"" + + " /l:" + locale.Name + " > \"" + test + ".bat\""; + projectDef.CustomBuildCmd = "\"" + exec + "\" -t " + execTimeout + " \"" + test + ".bat\""; + projectDef.CustomBuildOut = test + ".out"; + projectDef.PrjDeps.push(sanityDef); projectDefs.push(projectDef); } Index: config/windows/projects.js =================================================================== --- config/windows/projects.js (revision 476191) +++ config/windows/projects.js (working copy) @@ -332,9 +332,10 @@ { var testlocaleTplDef = new ProjectDef(null, typeGeneric); testlocaleTplDef.VCProjDir = ProjectsDir + "\\locales"; - testlocaleTplDef.OutDir = "$(SolutionDir)bin"; - testlocaleTplDef.IntDir = testlocaleTplDef.OutDir + "\\Build\\$(ProjectName)"; + testlocaleTplDef.OutDir = "$(SolutionDir)%CONFIG%\\bin"; + testlocaleTplDef.IntDir = testlocaleTplDef.OutDir + "\\$(ProjectName)"; testlocaleTplDef.CustomBuildDeps = "%FILES%"; + testlocaleTplDef.PrjDeps.push(execDef); testlocaleTplDef.PrjDeps.push(localeDef); testlocaleTplDef.PrjDeps.push(localedefDef); if (!copyDll)