Esempio n. 1
0
        private void WriteHeaderFileContent(TextWriter writer, string suitePath)
        {
            Stream stream =
                Assembly.GetExecutingAssembly().GetManifestResourceStream(
                    NewTestSuiteTemplateResourcePath);

            StringTemplateGroup templateGroup = new StringTemplateGroup(
                new StreamReader(stream), typeof(AngleBracketTemplateLexer));

            templateGroup.RegisterAttributeRenderer(typeof(string),
                                                    new NewTestSuiteStringRenderer(suitePath));

            StringTemplate template =
                templateGroup.GetInstanceOf("newSuiteFile");

            // Initialize the options that will be passed into the template.

            Hashtable options = new Hashtable();

            options["suiteName"]       = suiteName;
            options["superclass"]      = superclass;
            options["headerUnderTest"] = headerUnderTest.CanonicalName;
            options["createSetUp"]     = createSetUp;
            options["createTearDown"]  = createTearDown;

            template.SetAttribute("options", options);
            template.SetAttribute("testCases", new List <string>(stubNames));

            template.Write(new AutoIndentWriter(writer));
        }
Esempio n. 2
0
        /**
         * Instantiates an instance of the CxxTestDriverGenerator for the
         * specified project and test suite collection.
         *
         * @param project the ICProject associated with this generator
         * @param path the path of the source file to be generated
         * @param suites the collection of test suites to be generated
         *
         * @throws IOException if an I/O error occurs during generation
         */
        public TestRunnerGenerator(string path, TestSuiteCollection suites,
                                   Dictionary <string, bool> testsToRun)
        {
            this.suites     = suites;
            this.runnerPath = path;

            // Create a proxy object to manage the tests to run. Any tests
            // not in this map are assumed to be true (so that if tests
            // have been added, but not refreshed in the tool window, they
            // will be run until they are explicitly disabled).

            this.testsToRunProxy = new TestsToRunProxy(testsToRun);

            // Load the template from the embedded assembly resources.

            Stream stream =
                Assembly.GetExecutingAssembly().GetManifestResourceStream(
                    RunnerTemplateResourcePath);

            StringTemplateGroup templateGroup = new StringTemplateGroup(
                new StreamReader(stream), typeof(AngleBracketTemplateLexer));

            templateGroup.RegisterAttributeRenderer(typeof(string),
                                                    new TestRunnerStringRenderer(path));

            template = templateGroup.GetInstanceOf("runAllTestsFile");

            // Initialize the options that will be passed into the template.

            options = new Hashtable();
            options["platformIsMSVC"]      = true;
            options["trapSignals"]         = true;
            options["traceStack"]          = true;
            options["noStaticInit"]        = true;
            options["root"]                = true;
            options["part"]                = false;
            options["abortOnFail"]         = true;
            options["longLongType"]        = null;
            options["mainProvided"]        = suites.MainFunctionExists;
            options["runner"]              = "XmlStdioPrinter";
            options["xmlOutput"]           = true;
            options["testResultsFilename"] = Constants.TestResultsFilename;
            options["testsToRun"]          = testsToRunProxy;

            writer = File.CreateText(path);
        }
    public StringTemplate LoadTemplate(string name)
    {
        if (_templateGroup == null)
        {
            _templateGroup = new StringTemplateGroup("MG", GLexConfig.TemplatePath, typeof(DefaultTemplateLexer));
            _templateGroup.RegisterAttributeRenderer(typeof(bool), TemplateRenderers.BoolRenderer.Instance);
            _templateGroup.RegisterAttributeRenderer(typeof(Color), TemplateRenderers.ColorRenderer.Instance);
            _templateGroup.RegisterAttributeRenderer(typeof(DateTime), TemplateRenderers.DateTimeRenderer.Instance);
            _templateGroup.RegisterAttributeRenderer(typeof(Vector3), TemplateRenderers.VectorRenderer.Instance);
            _templateGroup.RegisterAttributeRenderer(typeof(Vector2), TemplateRenderers.VectorRenderer.Instance);
            _templateGroup.RegisterAttributeRenderer(typeof(Matrix4x4), TemplateRenderers.MatrixRenderer.Instance);
        }

        Debug.Log(name);
        return(_templateGroup.GetInstanceOf(GLexConfig.GetTemplate(name)));
    }