Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a11521db authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Skip legacy BackgroundDexOptService unit tests when ART Service is in

use.

Even just instantiating BackgroundDexOptService will result in a
LegacyDexoptDisabledException then.

Test: atest com.android.server.pm.BackgroundDexOptServiceUnitTest
  with dalvik.vm.useartservice=true
Bug: 274098825
Change-Id: I7359ad2887ef2d179f12404de69298b90d9e6636
parent d2a82123
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1177,7 +1177,7 @@ public class Installer extends SystemService {
        // TODO(b/260124949): Remove the legacy dexopt code paths, i.e. this exception and all code
        // that may throw it.
        public LegacyDexoptDisabledException() {
            super("Invalid call to legacy dexopt installd method while ART Service is in use.");
            super("Invalid call to legacy dexopt method while ART Service is in use.");
        }
    }

+6 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import android.content.IntentFilter;
import android.os.HandlerThread;
import android.os.PowerManager;
import android.os.Process;
import android.os.SystemProperties;
import android.util.Log;

import com.android.internal.util.IndentingPrintWriter;
@@ -56,6 +57,7 @@ import com.android.server.pm.dex.DexManager;
import com.android.server.pm.dex.DexoptOptions;

import org.junit.After;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -126,6 +128,10 @@ public final class BackgroundDexOptServiceUnitTest {

    @Before
    public void setUp() throws Exception {
        // These tests are only applicable to the legacy BackgroundDexOptService and cannot be run
        // when ART Service is enabled.
        Assume.assumeFalse(SystemProperties.getBoolean("dalvik.vm.useartservice", false));

        when(mInjector.getCallingUid()).thenReturn(Process.FIRST_APPLICATION_UID);
        when(mInjector.getContext()).thenReturn(mContext);
        when(mInjector.getDexOptHelper()).thenReturn(mDexOptHelper);