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());
 }
Exemple #4
0
        public void Setup()
        {
            var info = new TestRunInformation();

            info.TestChain = TestData.BuildChainWithPrefix("Test");
            items          = new List <string>(info.IterateAll());
        }
Exemple #5
0
 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);
     }
 }
Exemple #6
0
        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);
        }
Exemple #7
0
 private void UpdateProjectionsRemoval(TestRunInformation item)
 {
     foreach (var p in _projections)
     {
         p.Remove(item);
     }
 }
Exemple #8
0
 private void UpdateProjections(TestRunInformation item)
 {
     foreach (var p in _projections)
     {
         p.Index(item);
     }
 }
Exemple #9
0
 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 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);
 }
Exemple #11
0
        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 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);
 }
        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);
        }
Exemple #21
0
        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);
        }
 public void Remove(TestRunInformation testInformation)
 {
     RemoveCalledCount++;
 }
 public void Index(TestRunInformation testInformation)
 {
     IndexCalledCount++;
 }