blob: c841f8a01e3e3c6adbe610911bd6659ad0fb9fb9 [file] [log] [blame]
/*
* Copyright 2012-present Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package com.facebook.buck.test;
import com.facebook.buck.util.Ansi;
import com.facebook.buck.util.TimeFormat;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
@Immutable
public class TestResultSummary {
private String testCaseName;
private String testName;
private boolean success;
private long time;
@Nullable
private String message;
@Nullable
private String stacktrace;
@Nullable
private String stdOut;
@Nullable
private String stdErr;
/**
* Default constructor so this class can be deserialized by Jackson.
*/
public TestResultSummary() {}
public TestResultSummary(
String testCaseName,
String testName,
boolean isSuccess,
long time,
@Nullable String message,
@Nullable String stacktrace,
@Nullable String stdOut,
@Nullable String stdErr) {
this.testCaseName = testCaseName;
this.testName = testName;
this.success = isSuccess;
this.time = time;
this.message = message;
this.stacktrace = stacktrace;
this.stdOut = stdOut;
this.stdErr = stdErr;
}
public String getTestName() {
return testName;
}
public boolean isSuccess() {
return success;
}
/** @return how long the test took, in milliseconds */
public long getTime() {
return time;
}
@Nullable public String getMessage() {
return message;
}
@Nullable public String getStacktrace() {
return stacktrace;
}
@Nullable public String getStdOut() {
return stdOut;
}
@Nullable public String getStdErr() {
return stdErr;
}
@Override
public String toString() {
return String.format("%s %s %s#%s()",
isSuccess() ? "PASS" : "FAIL",
TimeFormat.formatForConsole(getTime(), Ansi.withoutTty()),
testCaseName,
getTestName());
}
}