/*
* 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.model.BuildTarget;
import com.facebook.buck.test.result.type.ResultType;
import com.google.common.collect.ImmutableList;
import java.nio.file.Path;
import java.nio.file.Paths;
/** Test utility to build TestResults objects for use in test cases. */
public class FakeTestResults {
// Utility class, do not instantiate.
private FakeTestResults() {}
private static final BuildTarget DUMMY_TARGET_FOR_TESTING =
BuildTarget.builder(Paths.get("/does/not/exist"), "//foo/bar", "baz").build();
public static TestResults of(Iterable<? extends TestCaseSummary> testCases) {
return withTestLogs(testCases, ImmutableList.of());
}
public static TestResults withTestLogs(
Iterable<? extends TestCaseSummary> testCases, Iterable<Path> testLogs) {
return TestResults.builder()
.setBuildTarget(DUMMY_TARGET_FOR_TESTING)
.setTestCases(testCases)
.setTestLogPaths(testLogs)
.build();
}
public static TestResults newFailedInstance(String name) {
String testCaseName = name;
TestResultSummary testResultSummary =
new TestResultSummary(testCaseName, null, ResultType.FAILURE, 0, null, null, null, null);
TestCaseSummary testCase =
new TestCaseSummary(testCaseName, ImmutableList.of(testResultSummary));
ImmutableList<TestCaseSummary> testCases = ImmutableList.of(testCase);
return FakeTestResults.of(testCases);
}
}