77
77
// if the output file is rebuilt
78
78
System.Threading.Thread.Sleep(1000);
80
RunBuild(FormatBuildFile("output=\"" + outputFile + "\""));
82
DateTime newLastModified = File.GetLastWriteTime(outputFile);
83
Assert.AreEqual(orgLastModified, newLastModified,
84
"output file should not have been rebuilt");
87
private string FormatBuildFile(string extra) {
88
return string.Format(CultureInfo.InvariantCulture, _projectXml, _resInputFile, extra);
80
RunBuild(FormatBuildFile(_resInputFile, "output=\"" + outputFile + "\""));
82
DateTime newLastModified = File.GetLastWriteTime(outputFile);
83
Assert.AreEqual(orgLastModified, newLastModified,
84
"output file should not have been rebuilt");
88
/// Test to make sure that a modification of an external file that is
89
/// referenced by a rc file caused the rc file to be rebuilt (bug #1195320).
92
public void Test_External_Files() {
93
if (!ResourceCompilerPresent) {
94
Assert.Ignore("The Resource Compiler (rc.exe) is not available on the PATH.");
97
string xmlFile = CreateTempFile(Path.Combine(_resDir, "description.xml"),
99
string resFile = CreateTempFile(Path.Combine(_resDir, "test-external.rc"),
100
"IDR_XML_DESCRIPTION XML \"description.xml\"");
101
string outputFile = CreateTempFile(Path.Combine(_resDir, "output.res"));
103
RunBuild(FormatBuildFile(resFile, "output=\"" + outputFile + "\""));
105
DateTime orgLastModified = File.GetLastWriteTime(outputFile);
107
// wait for a second to make sure we would get another lastwritetime
108
// if the output file is rebuilt
109
System.Threading.Thread.Sleep(1000);
111
RunBuild(FormatBuildFile(resFile, "output=\"" + outputFile + "\""));
113
DateTime newLastModified = File.GetLastWriteTime(outputFile);
114
Assert.AreEqual(orgLastModified, newLastModified,
115
"output file should not have been rebuilt");
118
File.SetLastWriteTime(xmlFile, DateTime.Now);
120
// rc file should now be recompiled
121
RunBuild(FormatBuildFile(resFile, "output=\"" + outputFile + "\""));
123
// verify whether rc file was rebuilt
124
newLastModified = File.GetLastWriteTime(outputFile);
125
Assert.IsTrue(orgLastModified != newLastModified,
126
"output file should have been rebuilt");
129
private string FormatBuildFile(string inputFile, string extra) {
130
return string.Format(CultureInfo.InvariantCulture, _projectXml, inputFile, extra);