1. 18 Jun, 2022 1 commit
  2. 16 Jun, 2022 1 commit
  3. 03 Jun, 2022 1 commit
  4. 24 May, 2022 1 commit
  5. 17 May, 2022 1 commit
    • Chris Bracken's avatar
      [tool] Consistent FakeProcessManager.run/runSync (#103947) · 928bb122
      Chris Bracken authored
      `FakeProcessManager` is a test-oriented implementation of `ProcessManager`
      that simulates launching processes and returning `ProcessResult` objects
      whose `exitCode`, `stdout`, `stderr` can be used to write platform-portable,
      hermetic tests that don't rely on actually launching processes from
      executables on disk. Its `run` and `runSync` methods provide asynchronous and
      synchronous variants of this functionality.
      
      Previously, the behaviour of `run` and `runSync` were inconsistent with
      regards to the treatment of the `stdoutEncoding` (similarly,
      `stderrEncoding`) parameters:
      
      `run`:
      * if the encoding was null, `ProcessResult.stdout` was returned as a
        String in UTF-8 encoding. This was incorrect. The behaviour as
        specified in `ProcessResult.stdout` is that in this case, a raw
        `List<int>` should be returned.
      * If the encoding was unspecified, `ProcessResult.stdout` was returned as
        a `String` in the `io.systemEncoding` encoding. This was correct.
      * If the encoding was non-null, `ProcessResult.stdout` was returned as a
        `String` in the specified encoding. This was correct.
      
      `runSync`:
      * if the encoding was null, `ProcessResult.stdout` was returned as a
        `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as
        specified in `ProcessResult.stdout` is that in this case, a raw
        `List<int>` should be returned.
      * If the encoding was unspecified, `ProcessResult.stdout` was returned as
        `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as
        specified in `ProcessResult.stdout` is that in this case, a String a
        `String` in the `io.systemEncoding` encoding should be returned.
      * if the encoding was non-null, `ProcessResult.stdout` was returned as a
        `String` in unknown (but probably UTF-8) encoding. This was incorrect.
        The behaviour as specified in `ProcessResult.stdout` is that in this
        case, a `String` in the specified encoding should be returned.
      
      `_FakeProcess`, from which we obtain the fake stdout and stderr values now
      holds these fields as raw `List<int>` of bytes rather than as `String`s. It
      is up to the user to supply values that can be decoded with the encoding
      passed to `run`/`runAsync`.
      
      `run` and `runAsync` have been updated to set stdout (likewise, stderr) as
      specified in the `ProcessResult` documentation.
      
      This is pre-factoring for #102451, in which the tool throws an exception
      when processing the JSON output from stdout of the `vswhere.exe` tool,
      whose output was found to include the `U+FFFD` Unicode replacement
      character during UTF-8 decoding, which triggers a `toolExit` exception
      when decoded using our [Utf8Decoder][decoder] configured with `reportErrors` =
      true. Because `FakeProcessManager.runAsync` did not previously invoke
      `utf8.decode` on its output (behaviour which differs from the non-fake
      implementation), it was impossible to write tests to verify the fix.
      
      Ref: https://api.flutter.dev/flutter/dart-io/ProcessResult/stdout.html
      
      Issue: https://github.com/flutter/flutter/issues/102451
      
      [decoder]: https://github.com/flutter/flutter/blob/fd312f1ccff909fde28d2247a489bf210bbc6c48/packages/flutter_tools/lib/src/convert.dart#L51-L60
      928bb122
  6. 07 May, 2022 2 commits
  7. 27 Apr, 2022 2 commits
  8. 15 Apr, 2022 1 commit
  9. 12 Apr, 2022 5 commits
  10. 11 Apr, 2022 1 commit
  11. 08 Apr, 2022 1 commit
  12. 29 Mar, 2022 1 commit
  13. 27 Mar, 2022 1 commit
  14. 26 Mar, 2022 1 commit
  15. 17 Mar, 2022 1 commit
  16. 07 Mar, 2022 1 commit
  17. 25 Feb, 2022 1 commit
  18. 16 Feb, 2022 1 commit
  19. 15 Feb, 2022 1 commit
    • Ben Konyi's avatar
      Update flutter_tools to look for new VM service message (#97683) · 2a2f9731
      Ben Konyi authored
      * Update flutter_tools to look for new VM service message
      
      The Dart SDK will soon move away from the current Observatory message:
      
      "Observatory listening on ..."
      
      To a new message that no longer references Observatory:
      
      "Dart VM Service listening on ..."
      
      This change updates all tests with mocks to check for the new message
      and also adds support for the new message in ProtocolDiscovery.
      
      See https://github.com/dart-lang/sdk/issues/46756
      
      * Fix some parsing locations
      
      * Fix analysis failures
      
      * Update message
      
      * Remove extra comment
      
      * Update message
      
      * Add globals prefix
      2a2f9731
  20. 21 Jan, 2022 1 commit
  21. 13 Jan, 2022 1 commit
  22. 05 Jan, 2022 1 commit
  23. 22 Dec, 2021 1 commit
  24. 21 Dec, 2021 1 commit
  25. 14 Dec, 2021 2 commits
  26. 24 Nov, 2021 2 commits
  27. 02 Nov, 2021 1 commit
  28. 30 Oct, 2021 2 commits
  29. 19 Oct, 2021 1 commit
  30. 15 Oct, 2021 2 commits