Ejemplo n.º 1
0
        private void RunTest(string mid_xml, uint iterations, Engine.FaultEventHandler OnFault)
        {
            testResults.Clear();

            string xml = pre_xml + mid_xml + post_xml;

            PitParser parser = new PitParser();

            Dom.Dom dom = parser.asParser(null, new MemoryStream(ASCIIEncoding.ASCII.GetBytes(xml)));

            RunConfiguration config = new RunConfiguration();

            Engine e = new Engine(null);

            config.range      = true;
            config.rangeStart = 0;
            config.rangeStop  = iterations;

            if (OnFault != null)
            {
                e.Fault += OnFault;
            }

            e.startFuzzing(dom, config);

            if (OnFault != null)
            {
                Assert.AreEqual(expectedFaults, testResults.Count);
            }
        }
Ejemplo n.º 2
0
        private void RunTest(string xml, uint iterations, Engine.FaultEventHandler OnFault)
        {
            var pid   = System.Diagnostics.Process.GetCurrentProcess().Id;
            var rng   = new Random((uint)pid);
            var iface = GetInterface();
            var port1 = rng.Next(8000, 10000);
            var port2 = rng.Next(100, 1000) + port1;

            xml = pre_xml + string.Format(xml, iface.Item1, iface.Item2, port1, port2) + post_xml;

            PitParser parser = new PitParser();

            Dom.Dom dom = parser.asParser(null, new MemoryStream(ASCIIEncoding.ASCII.GetBytes(xml)));

            RunConfiguration config = new RunConfiguration();

            config.singleIteration = true;

            Engine e = new Engine(null);

            config.range      = true;
            config.rangeStart = 1;
            config.rangeStop  = 1 + iterations;

            if (OnFault == null)
            {
                e.startFuzzing(dom, config);
                return;
            }

            e.Fault += OnFault;

            try
            {
                e.startFuzzing(dom, config);
                Assert.Fail("Should throw.");
            }
            catch (PeachException ex)
            {
                Assert.AreEqual("Fault detected on control iteration.", ex.Message);
            }

            Assert.AreEqual(1, testResults.Count);
            testResults.Clear();

            Assert.AreEqual(0, testResults.Count);
        }