blob: 83bc302bc97afe13329763cfc92430f9fafee1c9 [file] [log] [blame]
// Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8;
import com.android.tools.r8.origin.EmbeddedOrigin;
import com.android.tools.r8.utils.AndroidApiLevel;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Collections;
import org.junit.Test;
public class R8IgnoreMissingClassesTest {
private static final AndroidApiLevel MIN_API = AndroidApiLevel.O;
private static final Path EXAMPLE = Paths.get(ToolHelper.EXAMPLES_BUILD_DIR, "usestdlib.jar");
private static final Path LIBRARY = ToolHelper.getAndroidJar(MIN_API);
private R8Command.Builder config() {
return R8Command.builder()
.addProgramFiles(EXAMPLE)
.setMinApiLevel(MIN_API.getLevel())
.setProgramConsumer(DexIndexedConsumer.emptyConsumer());
}
@Test(expected = CompilationFailedException.class)
public void testFailsWithoutLibrary() throws CompilationFailedException {
R8.run(config().build());
}
@Test
public void testPassesWithLibrary() throws CompilationFailedException {
R8.run(config().addLibraryFiles(LIBRARY).build());
}
@Test
public void testPassesWithIgnoreWarnings() throws CompilationFailedException {
R8.run(config()
.addProguardConfiguration(
Collections.singletonList("-dontwarn"),
EmbeddedOrigin.INSTANCE)
.build());
}
}