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

Commit 0006952a authored by Guang Zhu's avatar Guang Zhu
Browse files

change how assets are copied out of apk

Currently test code use getActivity to get DRT's assets. However
the side effect is that this will actually launch the activity.
This is not affecting any tests yet, however there are cleaner
ways to do this. The instrumentation framework provides a
getTargetContext call which will give access to app under test's
context, and therefore granting access to its assets.

Change-Id: I0560b0fa5681f80bcb9296beec3fd0549c40cc8e
parent 02047f7e
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import com.android.dumprendertree.TestShellActivity.DumpDataType;
import com.android.dumprendertree.forwarder.AdbUtils;
import com.android.dumprendertree.forwarder.ForwardService;

import android.content.Context;
import android.content.Intent;
import android.os.Environment;
import android.test.ActivityInstrumentationTestCase2;
@@ -471,11 +472,14 @@ public class LayoutTestsAutoTest extends ActivityInstrumentationTestCase2<TestSh

    public void copyResultsAndRunnerAssetsToCache() {
        try {
            String out_dir = getActivity().getApplicationContext().getCacheDir().getPath() + "/";
            Context targetContext = getInstrumentation().getTargetContext();
            File cacheDir = targetContext.getCacheDir();

            for( int i=0; i< LAYOUT_TESTS_RESULTS_REFERENCE_FILES.length; i++) {
                InputStream in = getActivity().getAssets().open(LAYOUT_TESTS_RESULTS_REFERENCE_FILES[i]);
                OutputStream out = new FileOutputStream(out_dir + LAYOUT_TESTS_RESULTS_REFERENCE_FILES[i]);
                InputStream in = targetContext.getAssets().open(
                        LAYOUT_TESTS_RESULTS_REFERENCE_FILES[i]);
                OutputStream out = new FileOutputStream(new File(cacheDir,
                        LAYOUT_TESTS_RESULTS_REFERENCE_FILES[i]));

                byte[] buf = new byte[2048];
                int len;
+6 −4
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.dumprendertree;
import dalvik.system.VMRuntime;

import android.app.Instrumentation;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Debug;
@@ -27,6 +28,7 @@ import android.os.Process;
import android.test.ActivityInstrumentationTestCase2;
import android.util.Log;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -202,14 +204,14 @@ public class LoadTestsAutoTest extends ActivityInstrumentationTestCase2<TestShel

    public void copyRunnerAssetsToCache() {
        try {
            String out_dir = getActivity().getApplicationContext()
                .getCacheDir().getPath() + "/";
            Context targetContext = getInstrumentation().getTargetContext();
            File cacheDir = targetContext.getCacheDir();

            for( int i=0; i< LOAD_TEST_RUNNER_FILES.length; i++) {
                InputStream in = getActivity().getAssets().open(
                InputStream in = targetContext.getAssets().open(
                        LOAD_TEST_RUNNER_FILES[i]);
                OutputStream out = new FileOutputStream(
                        out_dir + LOAD_TEST_RUNNER_FILES[i]);
                        new File(cacheDir, LOAD_TEST_RUNNER_FILES[i]));

                byte[] buf = new byte[2048];
                int len;