Update tests to work better with async runJSBundle

Reviewed By: bestander

Differential Revision: D3932963

fbshipit-source-id: 16967987b3f777104ab3a41d5967ff1b2f4678db
This commit is contained in:
Marc Horowitz 2016-09-27 14:48:40 -07:00 committed by Facebook Github Bot 9
parent ba8066d7f3
commit fc62b00880
2 changed files with 10 additions and 21 deletions

View File

@ -52,7 +52,8 @@ import static org.mockito.Mockito.mock;
*/
public abstract class ReactIntegrationTestCase extends AndroidTestCase {
private static final long IDLE_TIMEOUT_MS = 15000;
// we need a bigger timeout for CI builds because they run on a slow emulator
private static final long IDLE_TIMEOUT_MS = 60000;
private @Nullable CatalystInstance mInstance;
private @Nullable ReactBridgeIdleSignaler mBridgeIdleSignaler;

View File

@ -13,7 +13,6 @@ import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.Callable;
import android.app.Instrumentation;
import android.content.Context;
@ -144,25 +143,14 @@ public class ReactTestHelper {
@Override
public CatalystInstance build() {
final CatalystInstance instance = builder.build();
try {
instance.getReactQueueConfiguration().getJSQueueThread().callOnQueue(
new Callable<Void>() {
@Override
public Void call() throws Exception {
testCase.initializeWithInstance(instance);
instance.runJSBundle();
return null;
}
}).get();
InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
instance.initialize();
}
});
} catch (Exception e) {
throw new RuntimeException(e);
}
testCase.initializeWithInstance(instance);
instance.runJSBundle();
InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
instance.initialize();
}
});
testCase.waitForBridgeAndUIIdle();
return instance;
}