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

Commit bc3a7684 authored by Makoto Onuki's avatar Makoto Onuki Committed by Automerger Merge Worker
Browse files

Merge "Use RavenwoodRule for system properties" into main am: 8b965335

parents b05c28cd 8b965335
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -23,10 +23,11 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import android.platform.test.ravenwood.RavenwoodConfig;
import android.platform.test.ravenwood.RavenwoodRule;

import androidx.test.filters.SmallTest;

import org.junit.Rule;
import org.junit.Test;

import java.util.Objects;
@@ -39,8 +40,8 @@ public class SystemPropertiesTest {
    private static final String PERSIST_KEY = "persist.sys.testkey";
    private static final String NONEXIST_KEY = "doesnotexist_2341431";

    @RavenwoodConfig.Config
    public static final RavenwoodConfig mRavenwood = new RavenwoodConfig.Builder()
    @Rule
    public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
            .setSystemPropertyMutable(KEY, null)
            .setSystemPropertyMutable(UNSET_KEY, null)
            .setSystemPropertyMutable(PERSIST_KEY, null)
+16 −18
Original line number Diff line number Diff line
@@ -142,34 +142,32 @@ public final class RavenwoodConfig {
        }

        /**
         * Configure the given system property as immutable for the duration of the test.
         * Read access to the key is allowed, and write access will fail. When {@code value} is
         * {@code null}, the value is left as undefined.
         *
         * All properties in the {@code debug.*} namespace are automatically mutable, with no
         * developer action required.
         *
         * Has no effect on non-Ravenwood environments.
         * @deprecated Use {@link RavenwoodRule.Builder#setSystemPropertyImmutable(String, Object)}
         */
        @Deprecated
        public Builder setSystemPropertyImmutable(@NonNull String key,
                @Nullable Object value) {
            mConfig.mSystemProperties.setValue(key, value);
            mConfig.mSystemProperties.setAccessReadOnly(key);
            return this;
        }

        /**
         * Configure the given system property as mutable for the duration of the test.
         * Both read and write access to the key is allowed, and its value will be reset between
         * each test. When {@code value} is {@code null}, the value is left as undefined.
         *
         * All properties in the {@code debug.*} namespace are automatically mutable, with no
         * developer action required.
         *
         * Has no effect on non-Ravenwood environments.
         * @deprecated Use {@link RavenwoodRule.Builder#setSystemPropertyMutable(String, Object)}
         */
        @Deprecated
        public Builder setSystemPropertyMutable(@NonNull String key,
                @Nullable Object value) {
            return this;
        }

        Builder setSystemPropertyImmutableReal(@NonNull String key,
                @Nullable Object value) {
            mConfig.mSystemProperties.setValue(key, value);
            mConfig.mSystemProperties.setAccessReadOnly(key);
            return this;
        }

        Builder setSystemPropertyMutableReal(@NonNull String key,
                @Nullable Object value) {
            mConfig.mSystemProperties.setValue(key, value);
            mConfig.mSystemProperties.setAccessReadWrite(key);
            return this;
+2 −2
Original line number Diff line number Diff line
@@ -152,7 +152,7 @@ public final class RavenwoodRule implements TestRule {
         * Has no effect on non-Ravenwood environments.
         */
        public Builder setSystemPropertyImmutable(@NonNull String key, @Nullable Object value) {
            mBuilder.setSystemPropertyImmutable(key, value);
            mBuilder.setSystemPropertyImmutableReal(key, value);
            return this;
        }

@@ -167,7 +167,7 @@ public final class RavenwoodRule implements TestRule {
         * Has no effect on non-Ravenwood environments.
         */
        public Builder setSystemPropertyMutable(@NonNull String key, @Nullable Object value) {
            mBuilder.setSystemPropertyMutable(key, value);
            mBuilder.setSystemPropertyMutableReal(key, value);
            return this;
        }