Ejemplo n.º 1
0
        protected void Run(CodeGenerationTarget target, string outputPath, string apiDescriptionFile, string expectedPath, string[] additionalSupportPaths = null)
        {
            Cleanup(outputPath);

            Options.CodeGenerationTarget = target;
            Options.ApiDescriptionFile   = apiDescriptionFile;
            Options.ManagedCallableWrapperSourceOutputDirectory = outputPath;

            if (additionalSupportPaths != null)
            {
                AdditionalSourceDirectories.AddRange(additionalSupportPaths);
            }

            Execute();

            CompareOutputs(expectedPath, outputPath);
        }
Ejemplo n.º 2
0
        protected void Run(CodeGenerationTarget target, string outputPath, string apiDescriptionFile, string expectedPath, string[] additionalSupportPaths = null, string enumFieldsMapFile = null, string enumMethodMapFile = null)
        {
            Cleanup(outputPath);
            AdditionalSourceDirectories.Clear();

            Options.CodeGenerationTarget = target;
            Options.ApiDescriptionFile   = FullPath(apiDescriptionFile);
            Options.ManagedCallableWrapperSourceOutputDirectory = FullPath(outputPath);

            if (!string.IsNullOrWhiteSpace(enumFieldsMapFile))
            {
                Options.EnumFieldsMapFile = FullPath(enumFieldsMapFile);
            }

            if (!string.IsNullOrWhiteSpace(enumMethodMapFile))
            {
                Options.EnumMethodsMapFile = FullPath(enumMethodMapFile);
            }

            var adjuster_output = Path.Combine(Path.GetTempPath(), "generator-tests");

            Directory.CreateDirectory(adjuster_output);

            // Put this in a temp folder so it doesn't end up in "expected", which breaks the compare.
            Options.ApiXmlAdjusterOutput = Path.Combine(adjuster_output, Path.GetFileName(apiDescriptionFile) + ".adjusted");

            if (additionalSupportPaths != null)
            {
                AdditionalSourceDirectories.AddRange(additionalSupportPaths.Select(p => FullPath(p)));
            }

            Execute();

            // Try to clean up after ourselves.
            try {
                Directory.Delete(adjuster_output, true);
            } catch { }

            CompareOutputs(expectedPath, outputPath);
        }