Remove test flakiness (#13252)

This commit is contained in:
Mikkel Nygaard Ravn 2017-11-30 00:22:13 +01:00 committed by GitHub
parent 368c12518b
commit bce5574cde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

View File

@ -52,8 +52,11 @@ public class MainActivity extends FlutterActivity {
producerTimer.scheduleAtFixedRate(new TimerTask() { producerTimer.scheduleAtFixedRate(new TimerTask() {
@Override @Override
public void run() { public void run() {
renderer.drawFrame(); final long time = System.currentTimeMillis();
framesProduced.incrementAndGet(); if (frameRate(framesProduced, startTime, time) < fps) {
renderer.drawFrame();
framesProduced.incrementAndGet();
}
} }
}, 0, 1000 / fps); }, 0, 1000 / fps);
consumerTimer = new Timer(); consumerTimer = new Timer();
@ -78,13 +81,14 @@ public class MainActivity extends FlutterActivity {
producerTimer.cancel(); producerTimer.cancel();
consumerTimer.cancel(); consumerTimer.cancel();
endTime = System.currentTimeMillis(); endTime = System.currentTimeMillis();
Log.e("TET", "Stopped at " + endTime);
result.success(null); result.success(null);
break; break;
case "getProducedFrameRate": case "getProducedFrameRate":
result.success(framesProduced.get() * 1000 / (double) (endTime - startTime)); result.success(frameRate(framesProduced, startTime, endTime));
break; break;
case "getConsumedFrameRate": case "getConsumedFrameRate":
result.success(framesConsumed.get() * 1000 / (double) (endTime - startTime)); result.success(frameRate(framesConsumed, startTime, endTime));
break; break;
default: result.notImplemented(); default: result.notImplemented();
} }
@ -110,6 +114,10 @@ public class MainActivity extends FlutterActivity {
}); });
} }
double frameRate(AtomicInteger frameCounter, long startTime, long endTime) {
return frameCounter.get() * 1000 / (double) (endTime - startTime);
}
@Override @Override
protected void onDestroy() { protected void onDestroy() {
if (surface != null) { if (surface != null) {

View File

@ -55,7 +55,7 @@ Future<Null> main() async {
final String statsFast = await driver.getText(summary); final String statsFast = await driver.getText(summary);
final Match matchFast = statsRegExp.matchAsPrefix(statsFast); final Match matchFast = statsRegExp.matchAsPrefix(statsFast);
expect(matchFast, isNotNull); expect(matchFast, isNotNull);
expect(double.parse(matchFast.group(1)), closeTo(flutterFrameRate * 2.0, 10.0)); expect(double.parse(matchFast.group(1)), closeTo(flutterFrameRate * 2.0, 5.0));
expect(double.parse(matchFast.group(2)), closeTo(flutterFrameRate, 10.0)); expect(double.parse(matchFast.group(2)), closeTo(flutterFrameRate, 10.0));
expect(int.parse(matchFast.group(3)), 1); expect(int.parse(matchFast.group(3)), 1);
}); });