diff --git a/pkg/vm_service/test/evaluate_optimized_out_variable_test.dart b/pkg/vm_service/test/evaluate_optimized_out_variable_test.dart index 0f96c061267..b3df49e4bbe 100644 --- a/pkg/vm_service/test/evaluate_optimized_out_variable_test.dart +++ b/pkg/vm_service/test/evaluate_optimized_out_variable_test.dart @@ -58,12 +58,14 @@ final tests = [ (VmService service, IsolateRef isolateRef) async { final isolateId = isolateRef.id!; try { - await service.evaluateInFrame( + final dynamic result = await service.evaluateInFrame( isolateId, 1, 'data.length', ); - fail('Expected evaluateInFrame to throw an RPCError'); + // Check in case the variable isn't optimized out, e.g., if the code is + // interpreted via bytecode instead of compiled to native code. + expect(result.valueAsString, '3'); } on RPCError catch (e) { expect(e.code, RPCErrorKind.kExpressionCompilationError.code); expect(e.message, 'Expression compilation error');