[observatory] Only run field guards test if it is enabled in the vm.

Change-Id: I83c5dba9b85fc0f99585fbd90cdc66d8c3fb865b
Reviewed-on: https://dart-review.googlesource.com/68850
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
This commit is contained in:
Alexander Aprelev 2018-08-08 00:38:52 +00:00
parent 4d156f9fb0
commit dac348c8c9

View file

@ -885,15 +885,27 @@ var tests = <IsolateTest>[
expect(result['_guardLength'], isNotNull);
},
// field
// field with guards
(Isolate isolate) async {
var result = await isolate.vm.invokeRpcNoUpgrade('getFlagList', {});
var use_field_guards = false;
for (var flag in result['flags']) {
if (flag['name'] == 'use_field_guards') {
use_field_guards = flag['valueAsString'] == 'true';
break;
}
}
if (!use_field_guards) {
return; // skip the test if guards are not enabled(like on simdbc64)
}
// Call eval to get a class id.
var evalResult = await eval(isolate, 'new _DummyClass()');
var id = "${evalResult['class']['id']}/fields/dummyList";
var params = {
'objectId': id,
};
var result = await isolate.invokeRpcNoUpgrade('getObject', params);
result = await isolate.invokeRpcNoUpgrade('getObject', params);
expect(result['type'], equals('Field'));
expect(result['id'], equals(id));
expect(result['name'], equals('dummyList'));