blob: facfb4b7a15d9b8170488f9ef0fbc894bc446abd [file] [log] [blame]
// Copyright (c) 2023, 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.examples.invoke;
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestParametersCollection;
import com.android.tools.r8.examples.ExamplesTestBase;
import com.android.tools.r8.utils.StringUtils;
import com.google.common.collect.ImmutableList;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class InvokeTestRunner extends ExamplesTestBase {
public InvokeTestRunner(TestParameters parameters) {
super(parameters);
}
@Override
public Class<?> getMainClass() {
return Invoke.class;
}
@Override
public List<Class<?>> getTestClasses() {
return ImmutableList.of(Invoke.class, InvokeInterface.class, SuperClass.class);
}
@Override
public String getExpected() {
return StringUtils.lines(
"static0",
"static1 1",
"static2 1 2",
"static3 1 2 3",
"static4 1 2 3 4",
"static5 1 2 3 4 5",
"staticRange 1 2 3 4 5 6",
"staticDouble0 0.1",
"staticDouble2 0.1 0.2",
"staticDoubleRange 0.1 0.2 0.3",
"direct0",
"direct1 1",
"direct2 1 2",
"direct3 1 2 3",
"direct4 1 2 3 4",
"directRange 1 2 3 4 5 6",
"interface0",
"interface1 1",
"interface2 1 2",
"interface3 1 2 3",
"interface4 1 2 3 4",
"interfaceRange 1 2 3 4 5 6",
"virtual0",
"virtual1 1",
"virtual2 1 2",
"virtual3 1 2 3",
"virtual4 1 2 3 4",
"virtualRange 1 2 3 4 5 6",
"super0",
"super1 1",
"super2 1 2",
"super3 1 2 3",
"super4 1 2 3 4",
"superRange 1 2 3 4 5 6",
"rangeInvoke0 i 0 j 2 d 42.42 e 43.43 l 64424509440",
"rangeInvoke0 i 0 j 2 d 42.42 e 43.43 l 64424509440",
"rangeInvoke1 i 0 j 2 d 42.42 e 43.43 l 64424509440",
"rangeInvoke1 i 0 j 2 d 42.42 e 43.43 l 64424509440",
"rangeInvoke2 i 0 j 2 d 42.42 e 43.43 l 64424509440",
"rangeInvoke2 i 0 j 2 d 42.42 e 43.43 l 64424509440",
"oneArgumentMethod 0",
"oneArgumentMethod 3",
"oneArgumentMethod 16",
"twoArgumentMethod 16 9",
"twoArgumentMethod 16 10",
"twoArgumentMethod 16 11",
"oneDoubleArgumentMethod 1.1",
"oneDoubleArgumentMethod 4.4",
"oneDoubleArgumentMethod 16.6",
"twoDoubleArgumentMethod 16.6 9.9",
"twoDoubleArgumentMethod 16.6 10.1",
"twoDoubleArgumentMethod 16.6 11.2",
"rangeInvokesRepeatedArgument0 0 1 0 1 0 1 0 1",
"rangeInvokesRepeatedArgument0 0 1 1 1 1 1 1 1",
"int: 42",
"double: 42.42",
"int: 32",
"double: 32.32",
"519",
"15");
}
}