本文整理汇总了C#中MockEngine.AssertLogContains方法的典型用法代码示例。如果您正苦于以下问题:C# MockEngine.AssertLogContains方法的具体用法?C# MockEngine.AssertLogContains怎么用?C# MockEngine.AssertLogContains使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MockEngine
的用法示例。
在下文中一共展示了MockEngine.AssertLogContains方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IgnoreVersionBasic
public void IgnoreVersionBasic()
{
MockEngine e = new MockEngine();
TaskItem item = new TaskItem("DependsOn9, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089");
ITaskItem[] items = new ITaskItem[]
{
item
};
string redistString = "<FileList Redist='Microsoft-Windows-CLRCoreComp-Random' >" +
"<File AssemblyName='DependsOn9' Version='9.0.0.0' PublicKeyToken='b17a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true' />" +
"</FileList >";
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.IgnoreVersionForFrameworkReferences = true;
ExecuteRAROnItemsAndRedist(t, e, items, redistString, true);
Assert.Equal(0, e.Warnings); // "No warnings expected in this scenario."
Assert.Equal(0, e.Errors); // "No errors expected in this scenario."
Assert.Equal(1, t.ResolvedFiles.Length);
Assert.True(ContainsItem(t.ResolvedFiles, @"c:\MyComponents\misc\DependsOn9.dll")); // "Expected to find assembly, but didn't."
// Do the resolution without the metadata, expect it to not work since we should not be able to find Dependson9 version 10.0.0.0
e = new MockEngine();
item = new TaskItem("DependsOn9, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b17a5c561934e089");
items = new ITaskItem[]
{
item
};
redistString = "<FileList Redist='Microsoft-Windows-CLRCoreComp-Random' >" +
"<File AssemblyName='DependsOn9' Version='9.0.0.0' PublicKeyToken='b17a5c561934e089' Culture='neutral' ProcessorArchitecture='MSIL' FileVersion='4.0.0.0' InGAC='true' />" +
"</FileList >";
t = new ResolveAssemblyReference();
ExecuteRAROnItemsAndRedist(t, e, items, redistString, true);
Assert.Equal(1, e.Warnings); // "Expected one warning in this scenario."
e.AssertLogContains("MSB3257");
e.AssertLogContains("DependsOn9");
Assert.Equal(0, t.ResolvedFiles.Length);
}
示例2: Exists
public void Exists()
{
// This WriteLine is a hack. On a slow machine, the Tasks unittest fails because remoting
// times out the object used for remoting console writes. Adding a write in the middle of
// keeps remoting from timing out the object.
Console.WriteLine("Performing VersioningAndUnification.Prerequisite.StronglyNamedDependency.Exists() test");
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnEverettSystem, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=feedbeadbadcadbe")
};
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
bool succeeded = Execute(t);
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedDependencyFiles.Length);
Assert.Equal(0, engine.Errors);
Assert.Equal(0, engine.Warnings);
AssertNoCase
(
"System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=" + AssemblyRef.EcmaPublicKey, t.ResolvedDependencyFiles[0].GetMetadata("FusionName")
);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnificationByFrameworkRetarget"), "1.0.5000.0", @"C:\MyApp\v1.0\DependsOnEverettSystem.dll")
);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.NotCopyLocalBecausePrerequisite"))
);
AssertNoCase("false", t.ResolvedDependencyFiles[0].GetMetadata("CopyLocal"));
}
示例3: Exists
public void Exists()
{
// This WriteLine is a hack. On a slow machine, the Tasks unittest fails because remoting
// times out the object used for remoting console writes. Adding a write in the middle of
// keeps remoting from timing out the object.
Console.WriteLine("Performing VersioningAndUnification.AutoUnify.StronglyNamedDependency.Exists() test");
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnUnified, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"),
new TaskItem("DependsOnUnified, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
};
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
t.AutoUnify = true;
bool succeeded = Execute(t);
Assert.True(succeeded);
AssertNoCase("UnifyMe, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", t.ResolvedDependencyFiles[0].GetMetadata("FusionName"));
AssertNoCase(@"C:\MyComponents\v2.0\UnifyMe.dll", t.ResolvedDependencyFiles[0].ItemSpec);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnifiedDependency"), "UniFYme, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnificationByAutoUnify"), "1.0.0.0", @"C:\MyApp\v1.0\DependsOnUnified.dll")
);
}
示例4: Exists
public void Exists()
{
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnUnified, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
};
// Construct the app.config.
string appConfigFile = WriteAppConfig
(
" <dependentAssembly>\n" +
" <assemblyIdentity name='UnifyMe' PublicKeyToken='b77a5c561934e089' culture='neutral' />\n" +
" <bindingRedirect oldVersion='1.0.0.0' newVersion='2.0.0.0' />\n" +
" </dependentAssembly>\n"
);
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
t.AppConfigFile = appConfigFile;
bool succeeded = Execute(t);
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedDependencyFiles.Length);
AssertNoCase("UnifyMe, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", t.ResolvedDependencyFiles[0].GetMetadata("FusionName"));
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnificationByAppConfig"), "1.0.0.0", appConfigFile, @"C:\MyApp\v1.0\DependsOnUnified.dll")
);
// Cleanup.
File.Delete(appConfigFile);
}
示例5: VerifyReferenceTable
/// <summary>
/// Verify the correct references are still in the references table and that references which are in the black list are not in the references table
/// Also verify any expected warning messages are seen in the log.
/// </summary>
private static void VerifyReferenceTable(ReferenceTable referenceTable, MockEngine mockEngine, AssemblyNameExtension engineAssemblyName, AssemblyNameExtension dataAssemblyName, AssemblyNameExtension sqlclientAssemblyName, AssemblyNameExtension xmlAssemblyName, string[] warningMessages)
{
Dictionary<AssemblyNameExtension, Reference> table = referenceTable.References;
Assert.Equal(0, table.Count); // "Expected there to be zero elements in the hashtable"
if (warningMessages != null)
{
foreach (string warningMessage in warningMessages)
{
Console.Out.WriteLine("WarningMessageToAssert:" + warningMessages);
mockEngine.AssertLogContains(warningMessage);
}
}
table.Clear();
}
示例6: ValidateFrameworkNameError
public void ValidateFrameworkNameError()
{
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("X, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null")
};
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = new string[] { @"c:\MyComponents" };
t.TargetFrameworkMoniker = "I am a random frameworkName";
bool succeeded = Execute(t);
Assert.False(succeeded);
Assert.Equal(1, engine.Errors);
Assert.Equal(0, engine.Warnings);
string message = ResourceUtilities.FormatResourceString("ResolveAssemblyReference.InvalidParameter", "TargetFrameworkMoniker", t.TargetFrameworkMoniker, String.Empty);
engine.AssertLogContains(message);
}
示例7: HighVersionDoesntExist
public void HighVersionDoesntExist()
{
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnUnified, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
};
// Construct the app.config.
string appConfigFile = WriteAppConfig
(
" <dependentAssembly>\n" +
" <assemblyIdentity name='UnifyMe' PublicKeyToken='b77a5c561934e089' culture='neutral' />\n" +
" <bindingRedirect oldVersion='1.0.0.0' newVersion='4.0.0.0' />\n" +
" </dependentAssembly>\n"
);
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
t.AppConfigFile = appConfigFile;
bool succeeded = Execute(t);
Assert.True(succeeded);
Assert.Equal(0, t.ResolvedDependencyFiles.Length);
string shouldContain;
string code = t.Log.ExtractMessageCode
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.FailedToResolveReference"),
String.Format(AssemblyResources.GetString("General.CouldNotLocateAssembly"), "UNIFyMe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")),
out shouldContain
);
engine.AssertLogContains
(
shouldContain
);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnificationByAppConfig"), "1.0.0.0", appConfigFile, @"C:\MyApp\v1.0\DependsOnUnified.dll")
);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("ResolveAssemblyReference.UnifiedDependency"), "UNIFyMe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
);
// Cleanup.
File.Delete(appConfigFile);
}
示例8: VerifyDependencyWarningFromMetadata
public void VerifyDependencyWarningFromMetadata()
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("GoodTestSDK, Version=2.0");
item.SetMetadata("DependsOn", "NotHere, Version=1.0");
t.SDKReferences = new ITaskItem[] { item };
t.References = null;
ITaskItem installedSDK = new TaskItem(@"c:\SDKDirectory\GoodTestSDK\2.0\");
installedSDK.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
t.InstalledSDKs = new ITaskItem[] { installedSDK };
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.True(succeeded);
Assert.Equal(1, t.ResolvedSDKReferences.Length);
engine.AssertLogContainsMessageFromResource(_resourceDelegate, "ResolveSDKReference.NoFrameworkIdentitiesFound");
Assert.True(t.ResolvedSDKReferences[0].ItemSpec.Equals(@"c:\SDKDirectory\GoodTestSDK\2.0\", StringComparison.OrdinalIgnoreCase));
string warning = ResourceUtilities.FormatResourceString("ResolveSDKReference.SDKMissingDependency", "GoodTestSDK, Version=2.0", "\"NotHere, Version=1.0\"");
engine.AssertLogContains(warning);
}
示例9: TestBadSDKReferenceIncludes
private static void TestBadSDKReferenceIncludes(ITaskItem referenceInclude)
{
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
t.BuildEngine = engine;
Assert.Null(t.ParseSDKReference(referenceInclude));
string errorMessage = t.Log.FormatResourceString("ResolveSDKReference.SDKReferenceIncorrectFormat", referenceInclude.ItemSpec);
engine.AssertLogContains(errorMessage);
}
示例10: SDKFoundButBadlyFormattedSDKManifestErrors
public void SDKFoundButBadlyFormattedSDKManifestErrors()
{
string testDirectoryRoot = Path.Combine(Path.GetTempPath(), "SDKFoundButBadlyFormattedSDKManifestErrors");
string testDirectory = Path.Combine(testDirectoryRoot, "BadTestSDK\\2.0\\");
string sdkManifestContents =
@"IAMNOTANXMLFILE";
try
{
string sdkManifestFile = Path.Combine(testDirectory, "SdkManifest.xml");
if (Directory.Exists(testDirectoryRoot))
{
FileUtilities.DeleteDirectoryNoThrow(testDirectoryRoot, true);
}
Directory.CreateDirectory(testDirectory);
File.WriteAllText(sdkManifestFile, sdkManifestContents);
// Create the engine.
MockEngine engine = new MockEngine();
ResolveSDKReference t = new ResolveSDKReference();
ITaskItem item = new TaskItem("BadTestSDK, Version=2.0");
ITaskItem item2 = new TaskItem("GoodTestSDK, Version=2.0");
t.SDKReferences = new ITaskItem[] { item, item2 };
ITaskItem installLocation = new TaskItem(testDirectory);
installLocation.SetMetadata("SDKName", "BadTestSDK, Version=2.0");
ITaskItem installLocation2 = new TaskItem("C:\\GoodSDKLocation");
installLocation2.SetMetadata("SDKName", "GoodTestSDK, Version=2.0");
t.InstalledSDKs = new ITaskItem[] { installLocation, installLocation2 };
t.BuildEngine = engine;
bool succeeded = t.Execute();
Assert.False(succeeded);
engine.AssertLogContains("MSB3775");
Assert.Equal(1, t.ResolvedSDKReferences.Length);
}
finally
{
if (Directory.Exists(testDirectoryRoot))
{
FileUtilities.DeleteDirectoryNoThrow(testDirectoryRoot, true);
}
}
}
示例11: VerifyUnResolvedSDKMessage
public void VerifyUnResolvedSDKMessage()
{
MockEngine engine = new MockEngine();
TaskLoggingHelper log = new TaskLoggingHelper(engine, "ResolveSDKReference");
HashSet<SDKReference> references = new HashSet<SDKReference>();
// All of the dependencies resolve correctly no warnings are expected
SDKReference reference1 = new SDKReference(new TaskItem(), "reference1", "1.0");
references.Add(reference1);
SDKReference reference2 = new SDKReference(new TaskItem(), "reference2", "1.0");
reference2.DependsOnSDK = "reference1, Version=1.0";
references.Add(reference2);
SDKReference reference3 = new SDKReference(new TaskItem(), "reference3", "1.0");
reference3.DependsOnSDK = "reference1, Version=1.0;reference2, Version=1.0";
references.Add(reference3);
SDKReference reference4 = new SDKReference(new TaskItem(), "reference4", "1.0");
reference4.DependsOnSDK = "reference1, Version=1.0";
references.Add(reference4);
SDKReference reference5 = new SDKReference(new TaskItem(), "reference5", "1.0");
reference5.DependsOnSDK = "reference1, Version=1.0";
references.Add(reference5);
ResolveSDKReference.VerifySDKDependsOn(log, references); //, new Version(8, 1), "Windows", null);
Assert.Equal(0, engine.Warnings);
Assert.Equal(0, engine.Errors);
Assert.Equal(0, engine.Log.Length);
engine = new MockEngine();
log = new TaskLoggingHelper(engine, "ResolveSDKReference");
log.TaskResources = AssemblyResources.PrimaryResources;
references = new HashSet<SDKReference>();
reference1 = new SDKReference(new TaskItem(), "reference1", "1.0");
reference1.DependsOnSDK = "NotThere, Version=1.0";
references.Add(reference1);
reference2 = new SDKReference(new TaskItem(), "reference2", "1.0");
reference2.DependsOnSDK = "reference11, Version=1.0;reference2, Version=1.0;reference77, Version=1.0";
references.Add(reference2);
reference3 = new SDKReference(new TaskItem(), "reference3", "1.0");
reference3.DependsOnSDK = "reference1, Version=1.0;NotThere, Version=1.0;WhereAmI, Version=1.0";
references.Add(reference3);
reference4 = new SDKReference(new TaskItem(), "reference4", "1.0");
reference4.DependsOnSDK = "NotThere, Version=1.0";
references.Add(reference4);
ResolveSDKReference.VerifySDKDependsOn(log, references);//, new Version(8, 1), "Windows", null);
Assert.Equal(4, engine.Warnings);
Assert.Equal(0, engine.Errors);
string warning = ResourceUtilities.FormatResourceString("ResolveSDKReference.SDKMissingDependency", reference1.SDKName, "\"NotThere, Version=1.0\"");
engine.AssertLogContains(warning);
warning = ResourceUtilities.FormatResourceString("ResolveSDKReference.SDKMissingDependency", reference2.SDKName, "\"reference11, Version=1.0\", \"reference77, Version=1.0\"");
engine.AssertLogContains(warning);
warning = ResourceUtilities.FormatResourceString("ResolveSDKReference.SDKMissingDependency", reference3.SDKName, "\"NotThere, Version=1.0\", \"WhereAmI, Version=1.0\"");
engine.AssertLogContains(warning);
warning = ResourceUtilities.FormatResourceString("ResolveSDKReference.SDKMissingDependency", reference4.SDKName, "\"NotThere, Version=1.0\"");
engine.AssertLogContains(warning);
}
示例12: GarbageAppConfigMissingNewVersion
public void GarbageAppConfigMissingNewVersion()
{
// Create the engine.
MockEngine engine = new MockEngine();
ITaskItem[] assemblyNames = new TaskItem[]
{
new TaskItem("DependsOnUnified, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")
};
// Construct the app.config.
string appConfigFile = WriteAppConfig
(
" <dependentAssembly>\n" +
" <assemblyIdentity name='MissingNewVersion' PublicKeyToken='b77a5c561934e089' culture='neutral' />\n" +
" <bindingRedirect oldVersion='2.0.0.0' />\n" +
" </dependentAssembly>\n"
);
// Now, pass feed resolved primary references into ResolveAssemblyReference.
ResolveAssemblyReference t = new ResolveAssemblyReference();
t.BuildEngine = engine;
t.Assemblies = assemblyNames;
t.SearchPaths = DefaultPaths;
t.AppConfigFile = appConfigFile;
bool succeeded = Execute(t);
Assert.False(succeeded);
Assert.Equal(1, engine.Errors);
engine.AssertLogContains
(
String.Format(AssemblyResources.GetString("AppConfig.BindingRedirectMissingNewVersion"))
);
// Cleanup.
File.Delete(appConfigFile);
}
示例13: NoSDKsFound
public void NoSDKsFound()
{
MockEngine engine = new MockEngine();
GetInstalledSDKLocations t = new GetInstalledSDKLocations();
t.TargetPlatformIdentifier = "Hello";
t.TargetPlatformVersion = "1.0";
t.BuildEngine = engine;
bool success = t.Execute();
Assert.IsTrue(success);
Assert.IsTrue(engine.Warnings == 1);
engine.AssertLogContains("MSB3785");
}
示例14: ReferenceTablePrimaryItemInBlackList
public void ReferenceTablePrimaryItemInBlackList()
{
MockEngine mockEngine = new MockEngine();
ResolveAssemblyReference rar = new ResolveAssemblyReference();
rar.BuildEngine = mockEngine;
ReferenceTable referenceTable = MakeEmptyReferenceTable(rar.Log);
Dictionary<AssemblyNameExtension, Reference> table = referenceTable.References;
AssemblyNameExtension engineAssemblyName = new AssemblyNameExtension("Microsoft.Build.Engine, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
AssemblyNameExtension xmlAssemblyName = new AssemblyNameExtension("System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");
Reference reference = new Reference(isWinMDFile, fileExists, getRuntimeVersion);
TaskItem taskItem = new TaskItem("Microsoft.Build.Engine");
reference.MakePrimaryAssemblyReference(taskItem, false, ".dll");
table.Add(engineAssemblyName, reference);
table.Add(xmlAssemblyName, new Reference(isWinMDFile, fileExists, getRuntimeVersion));
Hashtable blackList = new Hashtable(StringComparer.OrdinalIgnoreCase);
blackList[engineAssemblyName.FullName] = null;
string[] targetFrameworks = new string[] { "Client", "Web" };
string subSetName = ResolveAssemblyReference.GenerateSubSetName(targetFrameworks, null);
referenceTable.MarkReferencesForExclusion(blackList);
referenceTable.RemoveReferencesMarkedForExclusion(false, subSetName);
Dictionary<AssemblyNameExtension, Reference> table2 = referenceTable.References;
string warningMessage = rar.Log.FormatResourceString("ResolveAssemblyReference.FailedToResolveReferenceBecausePrimaryAssemblyInExclusionList", taskItem.ItemSpec, subSetName);
Assert.False(Object.ReferenceEquals(table, table2)); // "Expected hashtable to be a different instance"
Assert.Equal(1, table2.Count); // "Expected there to be one elements in the hashtable"
Assert.False(table2.ContainsKey(engineAssemblyName)); // "Expected to not find the engineAssemblyName in the referenceList"
Assert.True(table2.ContainsKey(xmlAssemblyName)); // "Expected to find the xmlssemblyName in the referenceList"
mockEngine.AssertLogContains(warningMessage);
}
示例15: InvalidCharsInInstalledAssemblyTable
public void InvalidCharsInInstalledAssemblyTable()
{
ResolveAssemblyReference t = new ResolveAssemblyReference();
MockEngine e = new MockEngine();
t.BuildEngine = e;
t.Assemblies = new ITaskItem[]
{
new TaskItem("SomeAssembly")
};
t.TargetFrameworkDirectories = new string[] { @"r:\WINDOWS\Microsoft.NET\Framework\v2.0.myfx" };
t.InstalledAssemblyTables = new TaskItem[] { new TaskItem("[email protected]@##$%$%%^&**()") };
Execute(t);
e.AssertLogContains("MSB3250");
}