예제 #1
0
        public void startFuzzing(Dom.Dom dom, Test test, RunConfiguration config)
        {
            try
            {
                if (dom == null)
                {
                    throw new ArgumentNullException("dom parameter is null");
                }
                if (test == null)
                {
                    throw new ArgumentNullException("test parameter is null");
                }
                if (config == null)
                {
                    throw new ArgumentNullException("config paremeter is null");
                }

                context.config = config;
                context.dom    = dom;
                context.test   = test;

                dom.context = context;

                // Initialize any watchers and loggers
                if (watcher != null)
                {
                    watcher.Initialize(this, context);
                }

                foreach (var logger in context.test.loggers)
                {
                    logger.Initialize(this, context);
                }

                runTest(context.dom, context.test, context);
            }
            finally
            {
                if (context.test != null)
                {
                    foreach (var logger in context.test.loggers)
                    {
                        logger.Finalize(this, context);
                    }
                }

                if (watcher != null)
                {
                    watcher.Finalize(this, context);
                }
            }
        }