| // 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.regress.b69906048; |
| |
| import com.android.tools.r8.TestBase; |
| import com.android.tools.r8.ToolHelper; |
| import com.android.tools.r8.origin.Origin; |
| import com.android.tools.r8.utils.AndroidApp; |
| import com.google.common.collect.ImmutableList; |
| import org.junit.Assert; |
| import org.junit.Test; |
| |
| public class Regress69906048Test extends TestBase { |
| |
| @Test |
| public void buildWithD8AndRunWithDalvikOrArt() throws Exception { |
| AndroidApp androidApp = |
| ToolHelper.runR8( |
| ToolHelper.prepareR8CommandBuilder( |
| readClasses(ClassWithAnnotations.class, AnAnnotation.class)) |
| .setDisableTreeShaking(true) |
| .setDisableMinification(true) |
| .addProguardConfiguration( |
| ImmutableList.of("-keepattributes *Annotation*"), Origin.unknown()) |
| .build(), |
| options -> options.setMinApiLevel(ToolHelper.getMinApiLevelForDexVm())); |
| String result = runOnArt(androidApp, ClassWithAnnotations.class); |
| Assert.assertEquals("@" + AnAnnotation.class.getCanonicalName() + "()", result); |
| } |
| |
| } |