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

Commit bfa0a82d authored by Zhi Dou's avatar Zhi Dou Committed by Gerrit Code Review
Browse files

Merge "refactor" into main

parents 2e0d7911 8998d095
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
@@ -50,14 +51,6 @@ public class StorageFileProvider {
        mBootPath = bootPath;
    }

    /** @hide */
    public boolean containerFileExists(String container) {
        if (container == null) {
            return Files.exists(Paths.get(mMapPath));
        }
        return Files.exists(Paths.get(mMapPath, container + PMAP_FILE_EXT));
    }

    /** @hide */
    public List<Path> listPackageMapFiles() {
        List<Path> result = new ArrayList<>();
@@ -66,8 +59,9 @@ public class StorageFileProvider {
                    Files.newDirectoryStream(Paths.get(mMapPath), "*" + PMAP_FILE_EXT);
            for (Path entry : stream) {
                result.add(entry);
                // sb.append(entry. toString());
            }
        } catch (NoSuchFileException e) {
            return result;
        } catch (Exception e) {
            throw new AconfigStorageException(
                    String.format("Fail to list map files in path %s", mMapPath), e);
+9 −8
Original line number Diff line number Diff line
@@ -21,14 +21,15 @@
    </target_preparer>
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.FilePusher">
        <option name="cleanup" value="true" />
        <option name="push" value="package_v1.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/package_v1.map" />
        <option name="push" value="flag_v1.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/flag_v1.map" />
        <option name="push" value="flag_v1.val->/data/local/tmp/aconfig_storage_file_test_java/testdata/flag_v1.val" />
        <option name="push" value="flag_v1.info->/data/local/tmp/aconfig_storage_file_test_java/testdata/flag_v1.info" />
        <option name="push" value="package_v2.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/package_v2.map" />
        <option name="push" value="flag_v2.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/flag_v2.map" />
        <option name="push" value="flag_v2.val->/data/local/tmp/aconfig_storage_file_test_java/testdata/flag_v2.val" />
        <option name="push" value="flag_v2.info->/data/local/tmp/aconfig_storage_file_test_java/testdata/flag_v2.info" />
        <option name="push" value="package_v1.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v1.package.map" />
        <option name="push" value="flag_v1.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v1.flag.map" />
        <option name="push" value="flag_v1.val->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v1.val" />
        <option name="push" value="flag_v1.info->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v1.info" />
        <option name="push" value="package_v2.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v2.package.map" />
        <option name="push" value="flag_v2.map->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v2.flag.map" />
        <option name="push" value="flag_v2.val->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v2.val" />
        <option name="push" value="flag_v2.info->/data/local/tmp/aconfig_storage_file_test_java/testdata/mock.v2.info" />
        <option name="post-push" value="chmod +r /data/local/tmp/aconfig_storage_file_test_java/testdata/" />
    </target_preparer>
    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="package" value="android.aconfig.storage.test" />
+2 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@ rule android.aconfig.storage.SipHasher13 android.aconfig.storage.test.SipHasher1
rule android.aconfig.storage.FileType android.aconfig.storage.test.FileType
rule android.aconfig.storage.FlagValueList android.aconfig.storage.test.FlagValueList
rule android.aconfig.storage.TableUtils android.aconfig.storage.test.TableUtils
rule android.aconfig.storage.AconfigPackageImpl android.aconfig.storage.test.AconfigPackageImpl
rule android.aconfig.storage.StorageFileProvider android.aconfig.storage.test.StorageFileProvider


rule android.aconfig.storage.FlagTable$* android.aconfig.storage.test.FlagTable$@1
+9 −22
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package android.aconfig.storage.test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

@@ -37,44 +36,32 @@ import java.util.List;
@RunWith(JUnit4.class)
public class StorageFileProviderTest {

    @Test
    public void testContainerFileExists() throws Exception {
        StorageFileProvider p =
                new StorageFileProvider(TestDataUtils.TESTDATA_PATH, TestDataUtils.TESTDATA_PATH);
        assertTrue(p.containerFileExists(null));
        assertTrue(p.containerFileExists("mockup"));
        assertFalse(p.containerFileExists("fake"));
    }

    @Test
    public void testListpackageMapFiles() throws Exception {
        StorageFileProvider p =
                new StorageFileProvider(TestDataUtils.TESTDATA_PATH, TestDataUtils.TESTDATA_PATH);
        // throw new Exception(Environment.getExternalStorageDirectory().getAbsolutePath());
        List<Path> file = p.listPackageMapFiles();
        assertEquals(1, file.size());
        assertTrue(
                file.get(0)
                        .equals(
                                Paths.get(
                                        TestDataUtils.TESTDATA_PATH,
                                        TestDataUtils.TEST_PACKAGE_MAP_PATH)));
        assertEquals(2, file.size());

        p = new StorageFileProvider("fake/path/", "fake/path/");
        file = p.listPackageMapFiles();
        assertTrue(file.isEmpty());
    }

    @Test
    public void testLoadFiles() throws Exception {
        StorageFileProvider p =
                new StorageFileProvider(TestDataUtils.TESTDATA_PATH, TestDataUtils.TESTDATA_PATH);
        PackageTable pt = p.getPackageTable("mockup");
        PackageTable pt = p.getPackageTable("mock.v1");
        assertNotNull(pt);
        pt =
                StorageFileProvider.getPackageTable(
                        Paths.get(
                                TestDataUtils.TESTDATA_PATH, TestDataUtils.TEST_PACKAGE_MAP_PATH));
                                TestDataUtils.TESTDATA_PATH, "mock.v1.package.map"));
        assertNotNull(pt);
        FlagTable f = p.getFlagTable("mockup");
        FlagTable f = p.getFlagTable("mock.v1");
        assertNotNull(f);
        FlagValueList v = p.getFlagValueList("mockup");
        FlagValueList v = p.getFlagValueList("mock.v1");
        assertNotNull(v);
    }
}
+5 −6
Original line number Diff line number Diff line
@@ -21,13 +21,12 @@ import java.io.InputStream;
import java.nio.ByteBuffer;

public final class TestDataUtils {
    private static final String TEST_PACKAGE_MAP_PATH = "package_v%d.map";
    private static final String TEST_FLAG_MAP_PATH = "flag_v%d.map";
    private static final String TEST_FLAG_VAL_PATH = "flag_v%d.val";
    private static final String TEST_FLAG_INFO_PATH = "flag_v%d.info";
    private static final String TEST_PACKAGE_MAP_PATH = "mock.v%d.package.map";
    private static final String TEST_FLAG_MAP_PATH = "mock.v%d.flag.map";
    private static final String TEST_FLAG_VAL_PATH = "mock.v%d.val";
    private static final String TEST_FLAG_INFO_PATH = "mock.v%d.info";

    private static final String TESTDATA_PATH =
            "/data/local/tmp/aconfig_storage_file_test_java/testdata/";
    public static final String TESTDATA_PATH = "/data/local/tmp/aconfig_storage_file_test_java/testdata/";

    public static ByteBuffer getTestPackageMapByteBuffer(int version) throws Exception {
        return readFile(TESTDATA_PATH + String.format(TEST_PACKAGE_MAP_PATH, version));
Loading