public void Setup() { var info = new TestRunInformation(); info.Name = "TESTNAME"; var chain = new CallChain("TestRoot", "TestRootR", 1); chain.StartTime = 0; chain.EndTime = 10; var c = new CallChain("TestChild1", "TestChild1R", 2); c.StartTime = 1; c.EndTime = 2; chain.AddChild(c); var c2 = new CallChain("TestChild2", "TestChild2R", 3); c2.StartTime = 3; c2.EndTime = 9; chain.AddChild(c2); var child = new CallChain("TestChild3", "TestChild3R", 4); child.StartTime = 4; child.EndTime = 8; var grandchild = new CallChain("TestGrandChild", "TestGrandChildR", 5); grandchild.StartTime = 5; grandchild.EndTime = 7; child.AddChild(grandchild); chain.AddChild(child); info.TestChain = chain; projection = new CouplingCountAndNameProjection(); projection.Index(info); }
public static TestRunInformation BuildTestInformatonFor(string name, string prefix) { var ret = new TestRunInformation(); ret.Name = name; ret.TestChain = BuildChainWithPrefix(prefix); return ret; }
public void Setup() { var info = new TestRunInformation(); info.TestChain = TestData.BuildChainWithPrefix("Test"); info.AddTearDown(TestData.BuildChainWithPrefix("TD")); items = new List<string>(info.IterateAll()); }
public void Setup() { var info = new TestRunInformation(); info.TestChain = TestData.BuildChainWithPrefix("Test"); items = new List <string>(info.IterateAll()); }
private void WriteIndividualEntry(TestRunInformation entry, BinaryWriter writer) { try { writer.Write((byte)2); writer.Write((string)entry.Name); writer.Write((int)entry.Setups.Count); writer.Write((int)entry.Teardowns.Count); writer.Write((bool)(entry.TestChain != null)); foreach (var setup in entry.Setups) { WriteChainItem(writer, setup); } foreach (var teardown in entry.Teardowns) { WriteChainItem(writer, teardown); } if (entry.TestChain != null) { WriteChainItem(writer, entry.TestChain); } } catch (Exception ex) { throw new WritingEntryFailedException("writing failed for entry: " + entry); } }
public TestRunInformation LookUpByName(string name) { TestRunInformation info = null; if (_useCache) { _hash.TryGetValue(name, out info); } else { FileLocation location; if (_fileLocations.TryGetValue(name, out location)) { using (var f = File.Open(_filename, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite)) { using (var reader = new BinaryReader(f)) { f.Seek(location.Position, SeekOrigin.Begin); string itemName; reader.ReadInt32(); var type = ReadHeader(reader, out itemName); if (type == 2) { info = ReadInformationBody(reader, name); } } } } } return(info); }
private void UpdateProjectionsRemoval(TestRunInformation item) { foreach (var p in _projections) { p.Remove(item); } }
private void UpdateProjections(TestRunInformation item) { foreach (var p in _projections) { p.Index(item); } }
private void AddOrUpdate(TestRunInformation item, FileLocation location) { lock (_hash) { if (_fileLocations.ContainsKey(item.Name)) { UpdateProjectionsRemoval(LookUpByName(item.Name)); _fileWaste += _fileLocations[item.Name].Length; _fileLocations[item.Name] = location; _totalSize += location.Length; if (_useCache) { _hash[item.Name] = item; } } else { _fileLocations.Add(item.Name, location); _totalEntries++; _totalSize += location.Length; if (_useCache) { _hash.Add(item.Name, item); } } } UpdateProjections(item); }
public static TestRunInformation BuildTestInformatonFor(string name, string prefix) { var ret = new TestRunInformation(); ret.Name = name; ret.TestChain = BuildChainWithPrefix(prefix); return(ret); }
public void Setup() { var info = new TestRunInformation { Name = "TESTNAME", TestChain = TestData.BuildChainWithPrefix("Foo+Test::") }; projection = new CouplingCountAndNameProjection(); projection.Index(info); }
public void an_exception_is_thrown() { const string filename = "C:\\thisreallyshouldntexist.whatever"; var info = new TestRunInformation { Name = "TESTNAME", TestChain = TestData.BuildChainWithPrefix("Test") }; _projection = new CouplingCountAndNameProjection(); _projection.LoadFromSnapshot(filename); }
public void SetUp() { var chain = new CallChain("Root", "RootR", 1); var c = new CallChain("Child1", "Child1R", 2); c.AddChild(new CallChain("GrandChild", "GrandChildR", 17)); chain.AddChild(c); chain.AddChild(new CallChain("Child2", "Child2R", 3)); var child = new CallChain("Child3", "Child3R", 4); child.AddChild(new CallChain("GrandChild","GrandChildR", 5)); chain.AddChild(child); var information = new TestRunInformation {Name = "test", TestChain = chain}; _paths = PathFinder.FindPathsTo(information, "GrandChild").ToList(); }
protected virtual void RunTestInformationAs <T>(object targetObject, IList <ITestInformation> source, ITestConfiguration configuration) where T : Attribute { var initializers = source .Where(info => info.Attribute is T) .OrderBy(info => info.Attribute is AbstractSequencedAttribute ? ((AbstractSequencedAttribute)info.Attribute).SequenceNumber : 0); foreach (ITestInformation init in initializers) { var testResult = new TestRunInformation(); try { if (typeof(T).Equals(typeof(RunTestAttribute))) { RunTestInformationAs <PreTestAttribute>(targetObject, source, configuration); } var runTime = init.TargetMethod.GetCustomAttribute <MaxTimeAttribute>(); init.Runs.Add(testResult); init.Called = true; testResult.Called = true; testResult.Running = true; testResult.Start = DateTime.Now; testResult.State = ResultState.RUNNING; var arguments = BuildArguments(init.TargetMethod, configuration); if (runTime != null && runTime.IsEnabled) { testResult.Completed = RunWithTimeoutSucceeded(init, runTime.TimeOutAfter, targetObject, arguments); if (!testResult.Completed) { testResult.State = ResultState.TIMEDOUT; ReportError(configuration, init, null, testResult.State); continue; } } else { testResult.Completed = RunSucceeded(init, targetObject, arguments); } testResult.State = ResultState.SUCCEEDED; if (typeof(T).Equals(typeof(RunTestAttribute))) { RunTestInformationAs <PostTestAttribute>(targetObject, source, configuration); } } catch (Exception ex) { testResult.State = ResultState.FAILED; ReportError(configuration, init, ex, testResult.State); } finally { testResult.End = DateTime.Now; testResult.Running = false; } } }
public void SetUp() { var chain = new CallChain("Root", "RootR", 1); var c = new CallChain("Child1", "Child1R", 2); c.AddChild(new CallChain("GrandChild", "GrandChildR", 17)); chain.AddChild(c); chain.AddChild(new CallChain("Child2", "Child2R", 3)); var child = new CallChain("Child3", "Child3R", 4); child.AddChild(new CallChain("GrandChild", "GrandChildR", 5)); chain.AddChild(child); var information = new TestRunInformation { Name = "test", TestChain = chain }; _paths = PathFinder.FindPathsTo(information, "GrandChild").ToList(); }
public void Setup() { var filename = Path.GetTempFileName(); var info = new TestRunInformation { Name = "TESTNAME", TestChain = TestData.BuildChainWithPrefix("Test") }; _projection = new CouplingCountAndNameProjection(); _projection.Index(info); _projection.SnapShotTo(filename, 2048); _counts.Add(_projection.GetRuntimeCallTimingsFor("TestRoot")); _counts.Add(_projection.GetRuntimeCallTimingsFor("TestChild1")); _counts.Add(_projection.GetRuntimeCallTimingsFor("TestChild2")); _counts.Add(_projection.GetRuntimeCallTimingsFor("TestChild3")); _counts.Add(_projection.GetRuntimeCallTimingsFor("TestGrandChild")); _projection = new CouplingCountAndNameProjection(); position = _projection.LoadFromSnapshot(filename); }
private TestRunInformation ReadInformationBody(BinaryReader reader, string name) { var setups = reader.ReadInt32(); var teardowns = reader.ReadInt32(); var hasTest = reader.ReadBoolean(); var ret = new TestRunInformation { Name = name }; for (int i = 0; i < setups; i++) { ret.AddSetup(ReadChainItem(reader)); } for (int i = 0; i < teardowns; i++) { ret.AddTearDown(ReadChainItem(reader)); } if (hasTest) { ret.TestChain = ReadChainItem(reader); } return(ret); }
public void Index(TestRunInformation testInformation) { IndexCalledCount++; }
public void Remove(TestRunInformation testInformation) { RemoveCalledCount++; }
private TestRunInformation ReadInformationBody(BinaryReader reader, string name) { var setups = reader.ReadInt32(); var teardowns = reader.ReadInt32(); var hasTest = reader.ReadBoolean(); var ret = new TestRunInformation {Name = name}; for (int i = 0; i < setups; i++) { ret.AddSetup(ReadChainItem(reader)); } for (int i = 0; i < teardowns; i++) { ret.AddTearDown(ReadChainItem(reader)); } if(hasTest) ret.TestChain = ReadChainItem(reader); return ret; }
private void WriteIndividualEntry(TestRunInformation entry, BinaryWriter writer) { try { writer.Write((byte) 2); writer.Write((string) entry.Name); writer.Write((int) entry.Setups.Count); writer.Write((int) entry.Teardowns.Count); writer.Write((bool) (entry.TestChain != null)); foreach (var setup in entry.Setups) { WriteChainItem(writer, setup); } foreach (var teardown in entry.Teardowns) { WriteChainItem(writer, teardown); } if (entry.TestChain != null) { WriteChainItem(writer, entry.TestChain); } } catch(Exception ex) { throw new WritingEntryFailedException("writing failed for entry: " + entry); } }
private void UpdateProjectionsRemoval(TestRunInformation item) { foreach (var p in _projections) p.Remove(item); }
private void UpdateProjections(TestRunInformation item) { foreach (var p in _projections) p.Index(item); }
private void AddOrUpdate(TestRunInformation item, FileLocation location) { lock (_hash) { if (_fileLocations.ContainsKey(item.Name)) { UpdateProjectionsRemoval(LookUpByName(item.Name)); _fileWaste += _fileLocations[item.Name].Length; _fileLocations[item.Name] = location; _totalSize += location.Length; if (_useCache) _hash[item.Name] = item; } else { _fileLocations.Add(item.Name, location); _totalEntries++; _totalSize += location.Length; if (_useCache) _hash.Add(item.Name, item); } } UpdateProjections(item); }