Closed jpnurmi closed 2 years ago
Not sure if the issue is here or in fwupd.dart but the latest main makes fwupd.dart tests hang in the CI. The first "bad" commit is https://github.com/canonical/dbus.dart/commit/fb25b89e72670150d5b6203ac2beaf67173b3ff6.
Steps:
pin fwupd's dbus dependency to https://github.com/canonical/dbus.dart/commit/fb25b89e72670150d5b6203ac2beaf67173b3ff6 (or https://github.com/canonical/dbus.dart/commit/0b223d8431bd89e3910b370fb2df4f4d79bce1be, or latest main...)
diff --git a/pubspec.yaml b/pubspec.yaml index 9ec4406..8206754 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,3 +19,9 @@ dev_dependencies: test: ^1.16.8 test_cov: ^1.0.1 +dependency_overrides: + dbus: + git: + url: https://github.com/canonical/dbus.dart.git + ref: fb25b89e72670150d5b6203ac2beaf67173b3ff6
Result: it hangs forever at the end of the tests.
jpnurmi@xps-13-9310:~/Projects/canonical/fwupd.dart (main)$ act [Dart/build] 🚀 Start image=dart:stable [Dart/build] 🐳 docker pull image=dart:stable platform= username= forcePull=false [Dart/build] 🐳 docker create image=dart:stable platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] [Dart/build] 🐳 docker run image=dart:stable platform= entrypoint=["/usr/bin/tail" "-f" "/dev/null"] cmd=[] [Dart/build] 🐳 docker exec cmd=[mkdir -m 0777 -p /var/run/act] user=root workdir= [Dart/build] 🐳 docker cp src=/home/jpnurmi/Projects/canonical/fwupd.dart/. dst=/home/jpnurmi/Projects/canonical/fwupd.dart [Dart/build] 🐳 docker exec cmd=[mkdir -p /home/jpnurmi/Projects/canonical/fwupd.dart] user= workdir= [Dart/build] ⭐ Run actions/checkout@v2 [Dart/build] ✅ Success - actions/checkout@v2 [Dart/build] ⭐ Run Print Dart SDK version [Dart/build] 🐳 docker exec cmd=[sh -e -c /home/jpnurmi/Projects/canonical/fwupd.dart/workflow/1] user= workdir= | Dart SDK version: 2.15.1 (stable) (Tue Dec 14 13:32:21 2021 +0100) on "linux_x64" [Dart/build] ✅ Success - Print Dart SDK version [Dart/build] ⭐ Run Install dependencies [Dart/build] 🐳 docker exec cmd=[sh -e -c /home/jpnurmi/Projects/canonical/fwupd.dart/workflow/2] user= workdir= | Resolving dependencies... (1.3s) | + _fe_analyzer_shared 34.0.0 | + analyzer 3.2.0 | + args 2.3.0 | + async 2.8.2 | + boolean_selector 2.1.0 | + charcode 1.3.1 | + cli_util 0.3.5 | + collection 1.15.0 | + convert 3.0.1 | + coverage 1.1.0 | + crypto 3.0.1 | + ffi 1.1.2 | + file 6.1.2 | + frontend_server_client 2.1.2 | + glob 2.0.2 | + http_multi_server 3.0.1 | + http_parser 4.0.0 | + io 1.0.3 | + js 0.6.3 (0.6.4 available) | + logging 1.0.2 | + matcher 0.12.11 | + meta 1.7.0 | + mime 1.0.1 | + node_preamble 2.0.1 | + package_config 2.0.2 | + path 1.8.1 | + pedantic 1.11.1 (discontinued replaced by lints) | + petitparser 4.4.0 | + pool 1.5.0 | + pub_semver 2.1.0 | + shelf 1.2.0 | + shelf_packages_handler 3.0.0 | + shelf_static 1.1.0 | + shelf_web_socket 1.0.1 | + source_map_stack_trace 2.1.0 | + source_maps 0.10.10 | + source_span 1.8.2 | + stack_trace 1.10.0 | + stream_channel 2.1.0 | + string_scanner 1.1.0 | + term_glyph 1.2.0 | + test 1.20.1 | + test_api 0.4.9 | + test_core 0.4.11 | + test_cov 1.0.1 | + typed_data 1.3.0 | + vm_service 8.1.0 | + watcher 1.0.1 | + web_socket_channel 2.1.0 | + webkit_inspection_protocol 1.0.0 | + xml 5.3.1 | + yaml 3.1.0 | Warning: You are using these overridden dependencies: | ! dbus 0.6.8 from git https://github.com/canonical/dbus.dart.git at fb25b8 | Downloading test_cov 1.0.1... | Downloading meta 1.7.0... | Downloading collection 1.15.0... | Downloading ffi 1.1.2... | Downloading path 1.8.1... | Downloading args 2.3.0... | Downloading coverage 1.1.0... | Downloading vm_service 8.1.0... | Downloading stack_trace 1.10.0... | Downloading source_maps 0.10.10... | Downloading package_config 2.0.2... | Downloading logging 1.0.2... | Downloading source_span 1.8.2... | Downloading term_glyph 1.2.0... | Downloading xml 5.3.1... | Downloading petitparser 4.4.0... | Downloading pedantic 1.11.1... | Downloading test 1.20.1... | Downloading webkit_inspection_protocol 1.0.0... | Downloading typed_data 1.3.0... | Downloading test_core 0.4.11... | Downloading test_api 0.4.9... | Downloading stream_channel 2.1.0... | Downloading shelf_packages_handler 3.0.0... | Downloading pool 1.5.0... | Downloading boolean_selector 2.1.0... | Downloading source_map_stack_trace 2.1.0... | Downloading matcher 0.12.11... | Downloading string_scanner 1.1.0... | Downloading yaml 3.1.0... | Downloading web_socket_channel 2.1.0... | Downloading shelf_web_socket 1.0.1... | Downloading shelf_static 1.1.0... | Downloading http_parser 4.0.0... | Downloading node_preamble 2.0.1... | Downloading js 0.6.3... | Downloading http_multi_server 3.0.1... | Downloading crypto 3.0.1... | Downloading mime 1.0.1... | Downloading convert 3.0.1... | Downloading io 1.0.3... | Downloading glob 2.0.2... | Downloading frontend_server_client 2.1.2... | Downloading charcode 1.3.1... | Downloading shelf 1.2.0... | Downloading file 6.1.2... | Downloading async 2.8.2... | Downloading analyzer 3.2.0... | Downloading _fe_analyzer_shared 34.0.0... | Downloading watcher 1.0.1... | Downloading pub_semver 2.1.0... | Downloading cli_util 0.3.5... | Changed 53 dependencies! [Dart/build] ✅ Success - Install dependencies [Dart/build] ⭐ Run Verify formatting [Dart/build] 🐳 docker exec cmd=[sh -e -c /home/jpnurmi/Projects/canonical/fwupd.dart/workflow/3] user= workdir= | Formatted 5 files (0 changed) in 0.38 seconds. [Dart/build] ✅ Success - Verify formatting [Dart/build] ⭐ Run Analyze project source [Dart/build] 🐳 docker exec cmd=[sh -e -c /home/jpnurmi/Projects/canonical/fwupd.dart/workflow/4] user= workdir= | Analyzing .... 4.7s | No issues found! [Dart/build] ✅ Success - Analyze project source [Dart/build] ⭐ Run Run regression tests [Dart/build] 🐳 docker exec cmd=[sh -e -c /home/jpnurmi/Projects/canonical/fwupd.dart/workflow/5] user= workdir= | Found 1 test files. | Generated test-all script in test/.test_cov.dart. | Observatory listening on http://127.0.0.1:8181/fJsZUAqHnAc=/ | The Dart DevTools debugger and profiler is available at: http://127.0.0.1:8181/fJsZUAqHnAc=/devtools/#/?uri=ws%3A%2F%2F127.0.0.1%3A8181%2FfJsZUAqHnAc%3D%2Fws | 00:00 +0: daemon version | | 00:00 +1: daemon host details | | 00:00 +2: daemon interactive | | 00:00 +3: daemon tainted | | 00:00 +4: daemon status | | 00:00 +5: device signals | | 00:00 +6: get devices | | 00:00 +7: get plugins | | 00:00 +8: get releases | | 00:00 +9: activate device | | 00:00 +10: clear device results | | 00:00 +11: unlock device | | 00:00 +12: verify device | | 00:00 +13: verify device update | | 00:00 +14: get remotes | | 00:00 +15: data classes | | 00:00 +16: All tests passed! | ### hangs here forever ###
With the parent commit https://github.com/canonical/dbus.dart/commit/ccc33ee8e6f92d068fcf7c3fec3b3fd962bd9f31 (v0.6.8) it doesn't hang:
... | 00:00 +16: All tests passed! | | Coverage report saved to "coverage/lcov.info". [Dart/build] ✅ Success - Run regression tests ...
This is due to the fwupd tests not closing the DBusClient. I've fixed dbus.dart to match the existing behaviour though.
Not sure if the issue is here or in fwupd.dart but the latest main makes fwupd.dart tests hang in the CI. The first "bad" commit is https://github.com/canonical/dbus.dart/commit/fb25b89e72670150d5b6203ac2beaf67173b3ff6.
Steps:
pin fwupd's dbus dependency to https://github.com/canonical/dbus.dart/commit/fb25b89e72670150d5b6203ac2beaf67173b3ff6 (or https://github.com/canonical/dbus.dart/commit/0b223d8431bd89e3910b370fb2df4f4d79bce1be, or latest main...)
Result: it hangs forever at the end of the tests.
With the parent commit https://github.com/canonical/dbus.dart/commit/ccc33ee8e6f92d068fcf7c3fec3b3fd962bd9f31 (v0.6.8) it doesn't hang: