示例#1
0
        public void RunTestMethod(JavaTestClass javaTestClass, JavaTestMethod javaTestMethod,
                                  string originalCodeDirectory,
                                  string traceDirectory, string referenceCode = null)
        {
            var packageClassAndMethod = $"{javaTestClass.Package}.{javaTestClass.Name}#{javaTestMethod.Name}";
            var commandOptions        = GetCommandOptions(packageClassAndMethod, originalCodeDirectory, javaTestClass.ClassPath, javaTestClass.Name, javaTestMethod.Name, traceDirectory, referenceCode);

            var process = new EngineProcess(Command, commandOptions, originalCodeDirectory);

            try
            {
                var exitCode = process.Run();
                javaTestMethod.Passed = exitCode == 0;
            }
            catch (Exception e)
            {
                var exception = new EngineExceptionDto()
                {
                    Report = JavaEngineReportExceptionFactory
                             .GenerateReportForJunitTestRunnerTestMethodProcess(process, e, javaTestClass, javaTestMethod)
                };
                process.Stop();
                throw exception;
            }
            process.Stop();
        }
示例#2
0
 private EngineException GetEngineException(EngineExceptionDto engineExceptionDto)
 {
     return(new EngineException()
     {
         Report = engineExceptionDto?.Report,
         From = engineExceptionDto?.From,
         Phase = engineExceptionDto?.Phase
     });
 }
示例#3
0
 private void VerifyCompilation(EngineProcess process, IList <string> sourceFiles)
 {
     if (!VerifyCompile(sourceFiles))
     {
         var exception = new EngineExceptionDto()
         {
             Report = JavaEngineReportExceptionFactory.GenerateReportForCompileVerification(process, sourceFiles),
         };
         process.Stop();
         throw exception;
     }
 }
示例#4
0
 private void RunProcess(EngineProcess process)
 {
     try
     {
         process.Run();
     }
     catch (Exception e)
     {
         var exception = new EngineExceptionDto()
         {
             Report = JavaEngineReportExceptionFactory
                      .GenerateReportForCompileProcess(process, e)
         };
         process.Stop();
         throw exception;
     }
 }
示例#5
0
        public void SetupJUnitCore(string workingDirectory, IList <JavaTestClass> javaClasses)
        {
            var process = new EngineProcess(Command, GetCommonOptionsForJunitCore(javaClasses), workingDirectory);

            try
            {
                process.Run();
            }
            catch (Exception e)
            {
                var exception = new EngineExceptionDto()
                {
                    Report = JavaEngineReportExceptionFactory
                             .GenerateReportForRawCoveragerJunitCore(process, e, javaClasses)
                };
                process.Stop();
                throw exception;
            }
            process.Stop();
        }
示例#6
0
        public void GenerateXmlForJavaClass(string codeDirectory, string reflectionDirectory, JavaTestClass javaTestClass)
        {
            var process = new EngineProcess(Command, GetCommandOptions(codeDirectory, javaTestClass, reflectionDirectory), codeDirectory);

            try
            {
                process.Run();
            }
            catch (Exception e)
            {
                var exception = new EngineExceptionDto()
                {
                    Report = JavaEngineReportExceptionFactory
                             .GenerateReportForReflectionProcess(process, e, javaTestClass)
                };
                process.Stop();
                throw exception;
            }
            process.Stop();
        }
示例#7
0
        public void TraceJavaMethod(JavaTestClass javaTestClass, JavaTestMethod testMethod, string workingDirectory)
        {
            var commandOptions = GetCommandOptions(javaTestClass.Name, testMethod.Name, javaTestClass.ClassPath);
            var process        = new EngineProcess(Command, commandOptions, workingDirectory);

            try
            {
                process.Run();
            }
            catch (Exception e)
            {
                var exception = new EngineExceptionDto()
                {
                    Report = JavaEngineReportExceptionFactory
                             .GenerateReportForTraceJavaMethod(process, e, javaTestClass, testMethod)
                };
                process.Stop();
                throw exception;
            }
            process.Stop();
        }