Skip to content

[android_alarm_manager] "FormatException: Message corrupted" on tests #34729

@ghost

Description

When I run any tests with mock method call handler, I get FormatException: Message corrupted. I did notice that using StandardMethodCodec instead of JSONMethodCodec in AndroidAlarmManager's _channel makes the error go away.

Steps to reproduce

After setting up the Android part, as described here, run the following test:

import 'package:android_alarm_manager/android_alarm_manager.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  MethodChannel('plugins.flutter.io/android_alarm_manager')
      .setMockMethodCallHandler((MethodCall methodCall) async => true);

  test('description', () async {
    await AndroidAlarmManager.initialize();
  });
}

Logs

flutter test --verbose

[  +18 ms] executing: [C:\flutter\] git rev-parse --abbrev-ref --symbolic @{u}
[  +41 ms] Exit code 128 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] fatal: HEAD does not point to a branch
[        ] executing: [C:\flutter\] git rev-parse --abbrev-ref HEAD
[  +26 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] HEAD
[        ] executing: [C:\flutter\] git log -n 1 --pretty=format:%H
[  +27 ms] Exit code 0 from: git log -n 1 --pretty=format:%H
[        ] 8661d8aecd626f7f57ccbcb735553edc05a2e713
[        ] executing: [C:\flutter\] git log -n 1 --pretty=format:%ar
[  +27 ms] Exit code 0 from: git log -n 1 --pretty=format:%ar
[        ] 4 months ago
[   +1 ms] executing: [C:\flutter\] git describe --match v*.*.* --first-parent --long --tags
[  +28 ms] Exit code 0 from: git describe --match v*.*.* --first-parent --long --tags
[        ] v1.2.1-0-g8661d8aec
[  +85 ms] Found plugin android_alarm_manager at C:\Users\hugoc\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\android_alarm_manager-0.4.1+6\
[  +42 ms] Found plugin android_alarm_manager at C:\Users\hugoc\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\android_alarm_manager-0.4.1+6\
[  +45 ms] switching to directory LocalDirectory: 'test' to run tests
[        ] running test package with arguments: [-r, compact, --concurrency=10, --, C:\Users\hugoc\IdeaProjects\Flutter\buster\test\main_test.dart]
00:00 +0: loading C:\Users\hugoc\IdeaProjects\Flutter\buster\test\main_test.dart                                                                                                                                                     [
  +97 ms] test 0: starting test C:\Users\hugoc\IdeaProjects\Flutter\buster\test\main_test.dart
[  +11 ms] test 0: starting shell process
[   +2 ms] Stopping scan for flutter_test_config.dart; found project root at C:\Users\hugoc\IdeaProjects\Flutter\buster
[   +1 ms] Compiler will use the following file as its incremental dill file: C:\Users\hugoc\AppData\Local\Temp\flutter_test_compiler.944d3edb-92ba-11e9-905b-4cedfb76621a\output.dill
[        ] Listening to compiler controller...
[   +1 ms] Compiling C:\Users\hugoc\AppData\Local\Temp\flutter_test_listener.944d3eda-92ba-11e9-905b-4cedfb76621a/listener.dart
[   +5 ms] C:\flutter\bin\cache\dart-sdk\bin\dart C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental --strong
--target=flutter --output-dill C:\Users\hugoc\AppData\Local\Temp\flutter_test_compiler.944d3edb-92ba-11e9-905b-4cedfb76621a\output.dill --packages C:\Users\hugoc\IdeaProjects\Flutter\buster\.packages --packages
C:\Users\hugoc\IdeaProjects\Flutter\buster\.packages --initialize-from-dill C:\Users\hugoc\IdeaProjects\Flutter\buster\build\testfile.dill
00:01 +0: loading C:\Users\hugoc\IdeaProjects\Flutter\buster\test\main_test.dart                                                                                                                                                     [
 +992 ms] Compiling C:\Users\hugoc\AppData\Local\Temp\flutter_test_listener.944d3eda-92ba-11e9-905b-4cedfb76621a/listener.dart took 997ms
[   +2 ms] C:\flutter\bin\cache\artifacts\engine\windows-x64\flutter_tester.exe --disable-observatory --enable-checked-mode --verify-entry-points --enable-software-rendering --skia-deterministic-rendering --enable-dart-profiling
--non-interactive --use-test-fonts --packages=C:\Users\hugoc\IdeaProjects\Flutter\buster\.packages C:\Users\hugoc\AppData\Local\Temp\flutter_test_listener.944d3eda-92ba-11e9-905b-4cedfb76621a/listener.dart.dill
[   +1 ms] Using this directory for fonts configuration: C:\Users\hugoc\AppData\Local\Temp\flutter_test_fonts.944d3edd-92ba-11e9-905b-4cedfb76621a
[   +6 ms] test 0: awaiting initial result for pid 19108
[ +177 ms] test 0: process with pid 19108 connected to test harness
[   +1 ms] test 0: awaiting test result for pid 19108
00:01 +0 -1: Test [E]
  FormatException: Message corrupted
  package:flutter/src/services/message_codecs.dart 449:16    StandardMessageCodec.readValueOfType
  package:flutter/src/services/message_codecs.dart 399:12    StandardMessageCodec.readValue
  package:flutter/src/services/message_codecs.dart 526:41    StandardMethodCodec.decodeMethodCall
  package:flutter/src/services/platform_channel.dart 381:35  MethodChannel._handleAsMethodCall
  ===== asynchronous gap ===========================
  dart:async                                                 _AsyncAwaitCompleter.completeError
  package:flutter/src/services/platform_channel.dart         MethodChannel._handleAsMethodCall

[ +103 ms] test 0: process with pid 19108 no longer needed by test harness
[        ] test 0: cleaning up...
[        ] test 0: ensuring end-of-process for shell
[  +12 ms] test 0: deleting temporary directory
[   +2 ms] test 0: shutting down test harness socket server
[   +1 ms] test 0: finished
00:01 +0 -1: Some tests failed.
[  +39 ms] Deleting C:\Users\hugoc\AppData\Local\Temp\flutter_test_compiler.944d3edb-92ba-11e9-905b-4cedfb76621a...
[   +3 ms] Deleting C:\Users\hugoc\AppData\Local\Temp\flutter_test_fonts.944d3edd-92ba-11e9-905b-4cedfb76621a...
[   +3 ms] test package returned with exit code 1
[   +6 ms] "flutter test" took 1.638ms.
[        ] "flutter test" took 1.638ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:24:3)
#1      TestCommand.runCommand (package:flutter_tools/src/commands/test.dart:182:7)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:545:18)
#3      _asyncThenWrapperHelper.<anonymous closure> (dart:async/runtime/libasync_patch.dart:77:64)
#4      _rootRunUnary (dart:async/zone.dart:1132:38)
#5      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#6      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#8      Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#9      Future._complete (dart:async/future_impl.dart:473:7)
#10     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#11     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async/runtime/libasync_patch.dart:33:20)
#12     _rootRun (dart:async/zone.dart:1124:13)
#13     _CustomZone.run (dart:async/zone.dart:1021:19)
#14     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#15     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#16     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#17     _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13)
#18     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5)

flutter doctor -v

[√] Flutter (Channel unknown, v1.2.1, on Microsoft Windows [versão 10.0.17763.557], locale pt-BR)
    • Flutter version 1.2.1 at C:\flutter
    • Framework revision 8661d8aecd (4 months ago), 2019-02-14 19:19:53 -0800
    • Engine revision 3757390fa4
    • Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at C:\Users\hugoc\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] IntelliJ IDEA Ultimate Edition (version 2019.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2019.1
    • Flutter plugin version 36.1.4
    • Dart plugin version 191.7830

[√] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 8.1.0 (API 27) (emulator)

• No issues found!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions