类org.gradle.api.tasks.testing.TestOutputEvent源码实例Demo

下面列出了怎么用org.gradle.api.tasks.testing.TestOutputEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: pushfish-android   文件: TestOutputStore.java
public void onOutput(long classId, long testId, TestOutputEvent outputEvent) {
    boolean stdout = outputEvent.getDestination() == TestOutputEvent.Destination.StdOut;
    mark(classId, testId, stdout);

    output.writeBoolean(stdout);
    output.writeSmallLong(classId);
    output.writeSmallLong(testId);

    byte[] bytes;
    try {
        bytes = outputEvent.getMessage().getBytes(messageStorageCharset.name());
    } catch (UnsupportedEncodingException e) {
        throw UncheckedException.throwAsUncheckedException(e);
    }
    output.writeSmallInt(bytes.length);
    output.writeBytes(bytes, 0, bytes.length);
}
 
源代码2 项目: Pushjet-Android   文件: TestOutputStore.java
public void onOutput(long classId, long testId, TestOutputEvent outputEvent) {
    boolean stdout = outputEvent.getDestination() == TestOutputEvent.Destination.StdOut;
    mark(classId, testId, stdout);

    output.writeBoolean(stdout);
    output.writeSmallLong(classId);
    output.writeSmallLong(testId);

    byte[] bytes;
    try {
        bytes = outputEvent.getMessage().getBytes(messageStorageCharset.name());
    } catch (UnsupportedEncodingException e) {
        throw UncheckedException.throwAsUncheckedException(e);
    }
    output.writeSmallInt(bytes.length);
    output.writeBytes(bytes, 0, bytes.length);
}
 
源代码3 项目: pushfish-android   文件: JUnitXmlResultWriter.java
public void write(TestClassResult result, OutputStream output) {
    String className = result.getClassName();
    long classId = result.getId();

    try {
        SimpleXmlWriter writer = new SimpleXmlWriter(output, "  ");
        writer.startElement("testsuite")
                .attribute("name", className)
                .attribute("tests", String.valueOf(result.getTestsCount()))
                .attribute("skipped", String.valueOf(result.getSkippedCount()))
                .attribute("failures", String.valueOf(result.getFailuresCount()))
                .attribute("errors", "0")
                .attribute("timestamp", DateUtils.format(result.getStartTime(), DateUtils.ISO8601_DATETIME_PATTERN))
                .attribute("hostname", hostName)
                .attribute("time", String.valueOf(result.getDuration() / 1000.0));

        writer.startElement("properties");
        writer.endElement();

        writeTests(writer, result.getResults(), className, classId);

        writer.startElement("system-out");
        writeOutputs(writer, classId, outputAssociation.equals(TestOutputAssociation.WITH_SUITE), TestOutputEvent.Destination.StdOut);
        writer.endElement();
        writer.startElement("system-err");
        writeOutputs(writer, classId, outputAssociation.equals(TestOutputAssociation.WITH_SUITE), TestOutputEvent.Destination.StdErr);
        writer.endElement();

        writer.endElement();
    } catch (IOException e) {
        throw UncheckedException.throwAsUncheckedException(e);
    }
}
 
源代码4 项目: pushfish-android   文件: JUnitXmlResultWriter.java
private void writeOutputs(SimpleXmlWriter writer, long classId, boolean allClassOutput, TestOutputEvent.Destination destination) throws IOException {
    writer.startCDATA();
    if (allClassOutput) {
        testResultsProvider.writeAllOutput(classId, destination, writer);
    } else {
        testResultsProvider.writeNonTestOutput(classId, destination, writer);
    }
    writer.endCDATA();
}
 
源代码5 项目: Pushjet-Android   文件: JUnitXmlResultWriter.java
private void writeOutputs(SimpleXmlWriter writer, long classId, boolean allClassOutput, TestOutputEvent.Destination destination) throws IOException {
    writer.startCDATA();
    if (allClassOutput) {
        testResultsProvider.writeAllOutput(classId, destination, writer);
    } else {
        testResultsProvider.writeNonTestOutput(classId, destination, writer);
    }
    writer.endCDATA();
}
 
public boolean hasOutput(long id, final TestOutputEvent.Destination destination) {
    return Iterables.any(
            classOutputProviders.get(id),
            new Predicate<DelegateProvider>() {
                public boolean apply(DelegateProvider delegateProvider) {
                    return delegateProvider.provider.hasOutput(delegateProvider.id, destination);
                }
            });
}
 
源代码7 项目: Pushjet-Android   文件: ClassPageRenderer.java
@Override
protected void registerTabs() {
    addFailuresTab();
    addTab("Tests", new ErroringAction<SimpleHtmlWriter>() {
        public void doExecute(SimpleHtmlWriter writer) throws IOException {
            renderTests(writer);
        }
    });
    if (resultsProvider.hasOutput(classId, TestOutputEvent.Destination.StdOut)) {
        addTab("Standard output", new ErroringAction<SimpleHtmlWriter>() {
            @Override
            protected void doExecute(SimpleHtmlWriter htmlWriter) throws IOException {
                htmlWriter.startElement("span").attribute("class", "code")
                    .startElement("pre")
                    .characters("");
                resultsProvider.writeAllOutput(classId, TestOutputEvent.Destination.StdOut, htmlWriter);
                    htmlWriter.endElement()
                .endElement();
            }
        });
    }
    if (resultsProvider.hasOutput(classId, TestOutputEvent.Destination.StdErr)) {
        addTab("Standard error", new ErroringAction<SimpleHtmlWriter>() {
            @Override
            protected void doExecute(SimpleHtmlWriter element) throws Exception {
                element.startElement("span").attribute("class", "code")
                .startElement("pre")
                    .characters("");
                resultsProvider.writeAllOutput(classId, TestOutputEvent.Destination.StdErr, element);
                element.endElement()
                .endElement();
            }
        });
    }
}
 
源代码8 项目: Pushjet-Android   文件: JUnitXmlResultWriter.java
private void writeTests(SimpleXmlWriter writer, Iterable<TestMethodResult> methodResults, String className, long classId) throws IOException {
    for (TestMethodResult methodResult : methodResults) {
        writer.startElement("testcase")
                .attribute("name", methodResult.getName())
                .attribute("classname", className)
                .attribute("time", String.valueOf(methodResult.getDuration() / 1000.0));

        if (methodResult.getResultType() == TestResult.ResultType.SKIPPED) {
            writer.startElement("skipped");
            writer.endElement();
        } else {
            for (TestFailure failure : methodResult.getFailures()) {
                writer.startElement("failure")
                        .attribute("message", failure.getMessage())
                        .attribute("type", failure.getExceptionType());

                writer.characters(failure.getStackTrace());

                writer.endElement();
            }
        }

        if (outputAssociation.equals(TestOutputAssociation.WITH_TESTCASE)) {
            writer.startElement("system-out");
            writeOutputs(writer, classId, methodResult.getId(), TestOutputEvent.Destination.StdOut);
            writer.endElement();
            writer.startElement("system-err");
            writeOutputs(writer, classId, methodResult.getId(), TestOutputEvent.Destination.StdErr);
            writer.endElement();
        }

        writer.endElement();
    }
}
 
源代码9 项目: Pushjet-Android   文件: TestOutputStore.java
public boolean hasOutput(long classId, TestOutputEvent.Destination destination) {
    if (dataFile == null) {
        return false;
    }

    Index classIndex = index.children.get(classId);
    if (classIndex == null) {
        return false;
    } else {
        Region region = destination == TestOutputEvent.Destination.StdOut ? classIndex.stdOut : classIndex.stdErr;
        return region.start >= 0;
    }
}
 
源代码10 项目: pushfish-android   文件: ClassPageRenderer.java
@Override
protected void registerTabs() {
    addFailuresTab();
    addTab("Tests", new ErroringAction<SimpleHtmlWriter>() {
        public void doExecute(SimpleHtmlWriter writer) throws IOException {
            renderTests(writer);
        }
    });
    if (resultsProvider.hasOutput(classId, TestOutputEvent.Destination.StdOut)) {
        addTab("Standard output", new ErroringAction<SimpleHtmlWriter>() {
            @Override
            protected void doExecute(SimpleHtmlWriter htmlWriter) throws IOException {
                htmlWriter.startElement("span").attribute("class", "code")
                    .startElement("pre")
                    .characters("");
                resultsProvider.writeAllOutput(classId, TestOutputEvent.Destination.StdOut, htmlWriter);
                    htmlWriter.endElement()
                .endElement();
            }
        });
    }
    if (resultsProvider.hasOutput(classId, TestOutputEvent.Destination.StdErr)) {
        addTab("Standard error", new ErroringAction<SimpleHtmlWriter>() {
            @Override
            protected void doExecute(SimpleHtmlWriter element) throws Exception {
                element.startElement("span").attribute("class", "code")
                .startElement("pre")
                    .characters("");
                resultsProvider.writeAllOutput(classId, TestOutputEvent.Destination.StdErr, element);
                element.endElement()
                .endElement();
            }
        });
    }
}
 
源代码11 项目: pushfish-android   文件: JUnitXmlResultWriter.java
private void writeOutputs(SimpleXmlWriter writer, long classId, boolean allClassOutput, TestOutputEvent.Destination destination) throws IOException {
    writer.startCDATA();
    if (allClassOutput) {
        testResultsProvider.writeAllOutput(classId, destination, writer);
    } else {
        testResultsProvider.writeNonTestOutput(classId, destination, writer);
    }
    writer.endCDATA();
}
 
public boolean hasOutput(long id, final TestOutputEvent.Destination destination) {
    return Iterables.any(
            classOutputProviders.get(id),
            new Predicate<DelegateProvider>() {
                public boolean apply(DelegateProvider delegateProvider) {
                    return delegateProvider.provider.hasOutput(delegateProvider.id, destination);
                }
            });
}
 
源代码13 项目: Pushjet-Android   文件: JUnitXmlResultWriter.java
public void write(TestClassResult result, OutputStream output) {
    String className = result.getClassName();
    long classId = result.getId();

    try {
        SimpleXmlWriter writer = new SimpleXmlWriter(output, "  ");
        writer.startElement("testsuite")
                .attribute("name", className)
                .attribute("tests", String.valueOf(result.getTestsCount()))
                .attribute("skipped", String.valueOf(result.getSkippedCount()))
                .attribute("failures", String.valueOf(result.getFailuresCount()))
                .attribute("errors", "0")
                .attribute("timestamp", DateUtils.format(result.getStartTime(), DateUtils.ISO8601_DATETIME_PATTERN))
                .attribute("hostname", hostName)
                .attribute("time", String.valueOf(result.getDuration() / 1000.0));

        writer.startElement("properties");
        writer.endElement();

        writeTests(writer, result.getResults(), className, classId);

        writer.startElement("system-out");
        writeOutputs(writer, classId, outputAssociation.equals(TestOutputAssociation.WITH_SUITE), TestOutputEvent.Destination.StdOut);
        writer.endElement();
        writer.startElement("system-err");
        writeOutputs(writer, classId, outputAssociation.equals(TestOutputAssociation.WITH_SUITE), TestOutputEvent.Destination.StdErr);
        writer.endElement();

        writer.endElement();
    } catch (IOException e) {
        throw UncheckedException.throwAsUncheckedException(e);
    }
}
 
源代码14 项目: Pushjet-Android   文件: TestOutputStore.java
public boolean hasOutput(long classId, TestOutputEvent.Destination destination) {
    if (dataFile == null) {
        return false;
    }

    Index classIndex = index.children.get(classId);
    if (classIndex == null) {
        return false;
    } else {
        Region region = destination == TestOutputEvent.Destination.StdOut ? classIndex.stdOut : classIndex.stdErr;
        return region.start >= 0;
    }
}
 
源代码15 项目: Pushjet-Android   文件: ClassPageRenderer.java
@Override
protected void registerTabs() {
    addFailuresTab();
    addTab("Tests", new ErroringAction<SimpleHtmlWriter>() {
        public void doExecute(SimpleHtmlWriter writer) throws IOException {
            renderTests(writer);
        }
    });
    final long classId = getModel().getId();
    if (resultsProvider.hasOutput(classId, TestOutputEvent.Destination.StdOut)) {
        addTab("Standard output", new ErroringAction<SimpleHtmlWriter>() {
            @Override
            protected void doExecute(SimpleHtmlWriter htmlWriter) throws IOException {
                htmlWriter.startElement("span").attribute("class", "code")
                    .startElement("pre")
                    .characters("");
                resultsProvider.writeAllOutput(classId, TestOutputEvent.Destination.StdOut, htmlWriter);
                    htmlWriter.endElement()
                .endElement();
            }
        });
    }
    if (resultsProvider.hasOutput(classId, TestOutputEvent.Destination.StdErr)) {
        addTab("Standard error", new ErroringAction<SimpleHtmlWriter>() {
            @Override
            protected void doExecute(SimpleHtmlWriter element) throws Exception {
                element.startElement("span").attribute("class", "code")
                .startElement("pre")
                    .characters("");
                resultsProvider.writeAllOutput(classId, TestOutputEvent.Destination.StdErr, element);
                element.endElement()
                .endElement();
            }
        });
    }
}
 
源代码16 项目: Pushjet-Android   文件: JUnitXmlResultWriter.java
private void writeOutputs(SimpleXmlWriter writer, long classId, boolean allClassOutput, TestOutputEvent.Destination destination) throws IOException {
    writer.startCDATA();
    if (allClassOutput) {
        testResultsProvider.writeAllOutput(classId, destination, writer);
    } else {
        testResultsProvider.writeNonTestOutput(classId, destination, writer);
    }
    writer.endCDATA();
}
 
public void output(Object testId, TestOutputEvent event) {
    resultProcessor.output(testId, event);
}
 
源代码18 项目: Pushjet-Android   文件: TestOutputStore.java
public void writeAllOutput(long classId, TestOutputEvent.Destination destination, java.io.Writer writer) {
    doRead(classId, 0, true, destination, writer);
}
 
public void writeAllOutput(long id, TestOutputEvent.Destination destination, Writer writer) {
    for (DelegateProvider delegateProvider : classOutputProviders.get(id)) {
        delegateProvider.provider.writeAllOutput(delegateProvider.id, destination, writer);
    }
}
 
public void writeNonTestOutput(long id, TestOutputEvent.Destination destination, Writer writer) {
    for (DelegateProvider delegateProvider : classOutputProviders.get(id)) {
        delegateProvider.provider.writeNonTestOutput(delegateProvider.id, destination, writer);
    }
}
 
public void writeAllOutput(long id, TestOutputEvent.Destination destination, Writer writer) {
    outputReader.writeAllOutput(id, destination, writer);
}
 
源代码22 项目: pushfish-android   文件: TestOutputStore.java
public void writeAllOutput(long classId, TestOutputEvent.Destination destination, java.io.Writer writer) {
    doRead(classId, 0, true, destination, writer);
}
 
源代码23 项目: Pushjet-Android   文件: TestOutputStore.java
private void doRead(long classId, long testId, boolean allClassOutput, TestOutputEvent.Destination destination, java.io.Writer writer) {
    if (dataFile == null) {
        return;
    }

    Index targetIndex = index.children.get(classId);
    if (targetIndex != null && testId != 0) {
        targetIndex = targetIndex.children.get(testId);
    }

    if (targetIndex == null) {
        return;
    }

    boolean stdout = destination == TestOutputEvent.Destination.StdOut;
    Region region = stdout ? targetIndex.stdOut : targetIndex.stdErr;

    if (region.start < 0) {
        return;
    }

    boolean ignoreClassLevel = !allClassOutput && testId != 0;
    boolean ignoreTestLevel = !allClassOutput && testId == 0;

    try {
        dataFile.seek(region.start);
        long maxPos = region.stop - region.start;
        KryoBackedDecoder decoder = new KryoBackedDecoder(new RandomAccessFileInputStream(dataFile));
        while (decoder.getReadPosition() <= maxPos) {
            boolean readStdout = decoder.readBoolean();
            long readClassId = decoder.readSmallLong();
            long readTestId = decoder.readSmallLong();
            int readLength = decoder.readSmallInt();

            boolean isClassLevel = readTestId == 0;

            if (stdout != readStdout || classId != readClassId) {
                decoder.skipBytes(readLength);
                continue;
            }

            if (ignoreClassLevel && isClassLevel) {
                decoder.skipBytes(readLength);
                continue;
            }

            if (ignoreTestLevel && !isClassLevel) {
                decoder.skipBytes(readLength);
                continue;
            }

            if (testId == 0 || testId == readTestId) {
                byte[] stringBytes = new byte[readLength];
                decoder.readBytes(stringBytes);
                String message;
                try {
                    message = new String(stringBytes, messageStorageCharset.name());
                } catch (UnsupportedEncodingException e) {
                    // shouldn't happen
                    throw UncheckedException.throwAsUncheckedException(e);
                }

                writer.write(message);
            } else {
                decoder.skipBytes(readLength);
            }
        }
    } catch (IOException e1) {
        throw new UncheckedIOException(e1);
    }
}
 
public void writeAllOutput(long id, TestOutputEvent.Destination destination, Writer writer) {
    for (DelegateProvider delegateProvider : classOutputProviders.get(id)) {
        delegateProvider.provider.writeAllOutput(delegateProvider.id, destination, writer);
    }
}
 
public boolean hasOutput(long id, TestOutputEvent.Destination destination) {
    return outputReader.hasOutput(id, destination);
}
 
源代码26 项目: Pushjet-Android   文件: TestEventSerializer.java
public DefaultTestOutputEvent read(Decoder decoder) throws Exception {
    TestOutputEvent.Destination destination = destinationSerializer.read(decoder);
    String message = decoder.readString();
    return new DefaultTestOutputEvent(destination, message);
}
 
public void writeTestOutput(long classId, long testId, TestOutputEvent.Destination destination, Writer writer) {
    outputReader.writeTestOutput(classId, testId, destination, writer);
}
 
public void writeTestOutput(long classId, long testId, TestOutputEvent.Destination destination, Writer writer) {
    outputReader.writeTestOutput(classId, testId, destination, writer);
}
 
源代码29 项目: Pushjet-Android   文件: TestOutputStore.java
public void writeTestOutput(long classId, long testId, TestOutputEvent.Destination destination, java.io.Writer writer) {
    doRead(classId, testId, false, destination, writer);
}
 
public void writeNonTestOutput(long id, TestOutputEvent.Destination destination, Writer writer) {
    outputReader.writeNonTestOutput(id, destination, writer);
}
 
 类所在包
 类方法
 同包方法