Running phase: unpackPhase unpacking source archive /nix/store/ac44r8c3b0nvpdz35yr72xaq8b2cw7rn-source source root is source Running phase: patchPhase patching script interpreter paths in extension/build.sh extension/build.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/svx59425zxp552p2b8gm11qj5r09b56i-bash-5.3p15/bin/bash" Executing npmConfigHook /build/source/extension /build/source Configuring npm Validating consistency between /build/source/extension/package-lock.json and /nix/store/5jhnz4533wxnywfs65crgkmwy7a599pq-npm-deps/package-lock.json Setting npm_config_cache to /nix/store/5jhnz4533wxnywfs65crgkmwy7a599pq-npm-deps Installing dependencies npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn Unknown env config "platform". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn Unknown env config "arch". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. added 111 packages, and audited 112 packages in 8s 40 packages are looking for funding run `npm fund` for details found 0 vulnerabilities patching script interpreter paths in node_modules node_modules/rolldown/bin/cli.mjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/tldts/bin/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/tlds/bin.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/vitest/node_modules/vite/bin/vite.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/vitest/vitest.mjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/esbuild/bin/esbuild: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/why-is-node-running/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/he/bin/he: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/nanoid/bin/nanoid.cjs: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" node_modules/@bramus/specificity/bin/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/v6wsd9nyglmwh32yn7w8z11dq9cksg4m-nodejs-24.20.0/bin/node" npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn Unknown env config "platform". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn Unknown env config "arch". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn rebuild 1 package has install scripts not yet covered by allowScripts. Run `npm install-scripts ls` to review. rebuilt dependencies successfully patching script interpreter paths in node_modules ~/source Finished npmConfigHook Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase cmake flags: -GNinja -DCMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY=OFF -DCMAKE_FIND_USE_PACKAGE_REGISTRY=OFF -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_LOCALEDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale -DCMAKE_INSTALL_LIBEXECDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/libexec -DCMAKE_INSTALL_LIBDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib -DCMAKE_INSTALL_DOCDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/doc/tether -DCMAKE_INSTALL_INFODIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/info -DCMAKE_INSTALL_MANDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/man -DCMAKE_INSTALL_INCLUDEDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/include -DCMAKE_INSTALL_SBINDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/sbin -DCMAKE_INSTALL_BINDIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin -DCMAKE_INSTALL_NAME_DIR=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib -DCMAKE_STRIP=/nix/store/z4c6k0mrlkwl3s4w9ysxc8vq1wylm3ms-gcc-wrapper-15.3.0/bin/strip -DCMAKE_RANLIB=/nix/store/z4c6k0mrlkwl3s4w9ysxc8vq1wylm3ms-gcc-wrapper-15.3.0/bin/ranlib -DCMAKE_AR=/nix/store/z4c6k0mrlkwl3s4w9ysxc8vq1wylm3ms-gcc-wrapper-15.3.0/bin/ar -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_INSTALL_PREFIX=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18 -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=TRUE -DFETCHCONTENT_SOURCE_DIR_JSON:STRING=/nix/store/zi53bipc60dzz2vf7459087bjxbag9md-source -DFETCHCONTENT_SOURCE_DIR_GOOGLETEST:STRING=/nix/store/8bqjd52zg4x20w20nmhpv04z8106lhmh-source -DTETHER_VERSION:STRING=0.2.18 -DBLUETOOTHD_PATH:STRING=/nix/store/w5lryklkm8whx92m6n1j5bbbrkjj7xm6-bluez-5.87/libexec/bluetooth/bluetoothd -DSYSTEMD_UNIT_DIR:STRING=lib/systemd/system -DCHROME_MESSAGING_DIR:STRING=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/etc/chromium/native-messaging-hosts -DGOOGLE_CHROME_MESSAGING_DIR:STRING=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/etc/opt/chrome/native-messaging-hosts -DMOZILLA_MESSAGING_DIR:STRING=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/mozilla/native-messaging-hosts -DTHUNDERBIRD_MESSAGING_DIR:STRING=/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/thunderbird/native-messaging-hosts -- The CXX compiler identification is GNU 15.3.0 -- The C compiler identification is GNU 15.3.0 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /nix/store/z4c6k0mrlkwl3s4w9ysxc8vq1wylm3ms-gcc-wrapper-15.3.0/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /nix/store/z4c6k0mrlkwl3s4w9ysxc8vq1wylm3ms-gcc-wrapper-15.3.0/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Found PkgConfig: /nix/store/29d1c5xk6w3rwl7yvdfwl90whslv5h54-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2") -- Checking for module 'wayland-client' -- Found wayland-client, version 1.26.0 -- Checking for module 'avahi-client' -- Found avahi-client, version 0.8 -- Found OpenSSL: /nix/store/yj34vymbqf7mf4lmffipy8jqc4kwr1mc-openssl-3.6.4/lib/libcrypto.so (found version "3.6.4") -- Found Intl: built in to C library -- Checking for module 'libsecret-1' -- Found libsecret-1, version 0.21.7 Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found -- Using the multi-header code from /nix/store/zi53bipc60dzz2vf7459087bjxbag9md-source/include/ -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Checking for modules 'glib-2.0;gio-2.0' -- Found glib-2.0, version 2.88.3 -- Found gio-2.0, version 2.88.3 Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found -- Checking for module 'libnotify' -- Found libnotify, version 0.8.8 Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found -- Checking for module 'gio-unix-2.0' -- Found gio-unix-2.0, version 2.88.3 Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found -- Checking for module 'gtk+-3.0' -- Found gtk+-3.0, version 3.24.52 Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found -- Checking for module 'gtk-layer-shell-0' -- Found gtk-layer-shell-0, version 0.10.1 Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found Package sysprof-capture-4 was not found in the pkg-config search path. Perhaps you should add the directory containing `sysprof-capture-4.pc' to the PKG_CONFIG_PATH environment variable Package 'sysprof-capture-4', required by 'glib-2.0', not found -- Configuring done (19.8s) -- Generating done (0.3s) CMake Warning (unused-cli): Manually-specified variables were not used by the project: BLUETOOTHD_PATH CMAKE_EXPORT_NO_PACKAGE_REGISTRY FETCHCONTENT_FULLY_DISCONNECTED -- Build files have been written to: /build/source/build cmake: enabled parallel building cmake: enabled parallel installing Running phase: buildPhase build flags: -j4 [1/130] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o [2/130] Building CXX object src/core/CMakeFiles/tether.dir/src/core.cpp.o [3/130] Building CXX object src/core/CMakeFiles/tether.dir/src/i18n.cpp.o [4/130] Building CXX object src/core/CMakeFiles/tether.dir/src/event_loop.cpp.o [5/130] Building CXX object src/core/CMakeFiles/tether.dir/src/base64.cpp.o [6/130] Building CXX object src/core/CMakeFiles/tether.dir/src/paths.cpp.o [7/130] Building CXX object _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o [8/130] Building CXX object src/core/CMakeFiles/tether.dir/src/file_transfer.cpp.o [9/130] Building CXX object src/core/CMakeFiles/tether.dir/src/otp.cpp.o [10/130] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o [11/130] Linking CXX static library lib/libgtest.a [12/130] Building CXX object src/core/CMakeFiles/tether.dir/src/crypto.cpp.o [13/130] Building CXX object src/core/CMakeFiles/tether.dir/src/secret_store.cpp.o [14/130] Building CXX object src/core/CMakeFiles/tether.dir/src/service.cpp.o [15/130] Building CXX object src/core/CMakeFiles/tether.dir/src/extension_host.cpp.o [16/130] Building CXX object src/core/CMakeFiles/tether.dir/src/client.cpp.o [17/130] Building CXX object src/core/CMakeFiles/tether.dir/src/mpris.cpp.o [18/130] Building CXX object src/core/CMakeFiles/tether.dir/src/discovery.cpp.o [19/130] Building CXX object src/core/CMakeFiles/tether.dir/src/audio.cpp.o [20/130] Building CXX object src/core/CMakeFiles/tether.dir/src/net.cpp.o [21/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/agent.cpp.o [22/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/objects.cpp.o [23/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/monitor.cpp.o [24/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/config.cpp.o [25/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/pairing.cpp.o [26/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/advert.cpp.o [27/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/vcard.cpp.o [28/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/profile_supervisor.cpp.o [29/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/bearer_supervisor.cpp.o [30/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/bmessage.cpp.o [31/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/messages.cpp.o [32/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/pbap_session.cpp.o [33/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/map_session.cpp.o [34/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/ancs/parser.cpp.o [35/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/contacts.cpp.o [36/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/ancs/sequencer.cpp.o [37/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/obex_transfer.cpp.o [38/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/journal.cpp.o [39/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/ancs/notifications.cpp.o [40/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/ancs/client.cpp.o [41/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/telephony_pipewire.cpp.o [42/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/groups.cpp.o [43/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/telephony.cpp.o [44/130] Building CXX object src/core/CMakeFiles/tether.dir/src/session_lock.cpp.o [45/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/diagnostics.cpp.o [46/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/airpods.cpp.o [47/130] Building CXX object src/core/CMakeFiles/tether.dir/src/wayland_protocols/wlr-data-control-unstable-v1.cpp.o [48/130] Building CXX object src/core/CMakeFiles/tether.dir/src/wayland_protocols/wayland.cpp.o [49/130] Linking CXX static library lib/libgmock.a [50/130] Building CXX object src/core/CMakeFiles/tether.dir/src/wayland_protocols/ext-data-control-v1.cpp.o [51/130] Linking CXX static library lib/libgtest_main.a [52/130] Building CXX object _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o [53/130] Building CXX object src/core/CMakeFiles/tether.dir/src/bluetooth/connection.cpp.o [54/130] Building CXX object src/core/CMakeFiles/tether.dir/src/wayland.cpp.o [55/130] Linking CXX static library src/core/libtether.a [56/130] Building CXX object src/cli/CMakeFiles/tether_cli.dir/verbs.cpp.o [57/130] Building CXX object src/daemon/CMakeFiles/tetherd.dir/main.cpp.o [58/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/main.cpp.o [59/130] Building CXX object src/daemon/CMakeFiles/tetherd.dir/notification.cpp.o [60/130] Building CXX object src/cli/CMakeFiles/tether_cli.dir/main.cpp.o [61/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/ui_util.cpp.o [62/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/calls_view.cpp.o [63/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/message_format.cpp.o [64/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/prefs.cpp.o [65/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/contact_completion.cpp.o [66/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/contacts_view.cpp.o [67/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/messages_view.cpp.o [68/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/settings_view.cpp.o [69/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/daemon_client.cpp.o [70/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/notifications_view.cpp.o [71/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/devices_view.cpp.o [72/130] Building CXX object test/CMakeFiles/tether_test.dir/test_base64.cpp.o [73/130] Building CXX object test/CMakeFiles/tether_test.dir/test_audio.cpp.o [74/130] Building CXX object src/dialog/CMakeFiles/tether-dialog.dir/main.cpp.o [75/130] Building CXX object src/gtk/CMakeFiles/tether-gtk.dir/tray.cpp.o [76/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bluetooth_monitor.cpp.o [77/130] Building CXX object test/CMakeFiles/tether_test.dir/test_airpods.cpp.o [78/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bluetooth_objects.cpp.o [79/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bluetooth_pairing.cpp.o [80/130] Building CXX object test/CMakeFiles/tether_test.dir/test_ancs_parser.cpp.o [81/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bluetooth_supervisor.cpp.o [82/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bmessage_build.cpp.o [83/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bmessage.cpp.o [84/130] Building CXX object test/CMakeFiles/tether_test.dir/test_ancs_sequencer.cpp.o [85/130] Building CXX object test/CMakeFiles/tether_test.dir/test_ancs_notifications.cpp.o [86/130] Building CXX object test/CMakeFiles/tether_test.dir/test_groups.cpp.o [87/130] Building CXX object test/CMakeFiles/tether_test.dir/test_vcard.cpp.o [88/130] Building CXX object test/CMakeFiles/tether_test.dir/test_telephony.cpp.o [89/130] Building CXX object test/CMakeFiles/tether_test.dir/test_journal.cpp.o [90/130] Building CXX object test/CMakeFiles/tether_test.dir/test_bt_diagnostics.cpp.o [91/130] Building CXX object test/CMakeFiles/tether_test.dir/secret_test_env.cpp.o [92/130] Building CXX object test/CMakeFiles/tether_test.dir/test_secret_store.cpp.o [93/130] Building CXX object test/CMakeFiles/tether_test.dir/test_event_loop.cpp.o [94/130] Building CXX object test/CMakeFiles/tether_test.dir/test_display_width.cpp.o [95/130] Building CXX object test/CMakeFiles/tether_test.dir/test_crypto.cpp.o [96/130] Building CXX object test/CMakeFiles/tether_test.dir/test_file_transfer.cpp.o [97/130] Building CXX object test/CMakeFiles/tether_test.dir/test_discovery.cpp.o [98/130] Building CXX object test/CMakeFiles/tether_test.dir/test_extension_host.cpp.o [99/130] Building CXX object test/CMakeFiles/tether_test.dir/test_otp.cpp.o [100/130] Building CXX object test/CMakeFiles/tether_test.dir/test_log.cpp.o [101/130] Building CXX object test/CMakeFiles/tether_test.dir/test_paths.cpp.o [102/130] Building CXX object test/CMakeFiles/tether_test.dir/test_message_format.cpp.o [103/130] Building CXX object test/CMakeFiles/tether_test.dir/test_service.cpp.o [104/130] Building CXX object test/CMakeFiles/tether_test.dir/test_verbs.cpp.o [105/130] Building browser and mail extensions Building Tether Extensions... Bundling Firefox browser extension... build/extension_bundles/browser/src/background/background.js 147.4kb ⚡ Done in 40ms build/extension_bundles/browser/src/content/autofill.js 7.1kb ⚡ Done in 3ms Bundling mail extension... build/extension_bundles/mail/src/mail/extractor.js 158.7kb ⚡ Done in 18ms Bundling Chromium extension... build/extension_bundles/chromium/src/background/background.js 147.4kb ⚡ Done in 9ms build/extension_bundles/chromium/src/content/autofill.js 7.1kb ⚡ Done in 4ms Extensions successfully built and packaged in /build/source/build/extension_bundles Firefox browser: /build/source/build/extension_bundles/tether-browser-extension.zip Thunderbird: /build/source/build/extension_bundles/tether-mail-extension.xpi Chromium (Store): /build/source/build/extension_bundles/tether-chromium-extension.zip [106/130] Linking CXX static library lib/libgmock_main.a [107/130] Building CXX object test/CMakeFiles/tether_test.dir/test_net.cpp.o [108/130] Linking CXX executable tetherd [109/130] Building CXX object test/CMakeFiles/tether_test.dir/__/src/cli/verbs.cpp.o [110/130] Localizing tether-gtk.desktop [111/130] Linking CXX executable tether [112/130] Compiling cs.po [113/130] Compiling de.po [114/130] Compiling es.po [115/130] Compiling fr.po [116/130] Compiling it.po [117/130] Compiling ja.po [118/130] Compiling ko.po [119/130] Compiling nl.po [120/130] Compiling pl.po [121/130] Compiling pt_BR.po [122/130] Compiling ru.po [123/130] Compiling sv.po [124/130] Compiling tr.po [125/130] Compiling uk.po [126/130] Compiling zh_CN.po [127/130] Linking CXX executable tether-dialog [128/130] Linking CXX executable tether-gtk [129/130] Building CXX object test/CMakeFiles/tether_test.dir/__/src/gtk/message_format.cpp.o [130/130] Linking CXX executable test/tether_test buildPhase completed in 7 minutes 14 seconds Running phase: checkPhase check flags: -j4 test [0/1] Running tests... Test project /build/source/build Start 1: Base64Test.EncodeSimple Start 2: Base64Test.DecodeSimple Start 3: Base64Test.DecodeWithPadding Start 4: Base64Test.EdgeCases 1/536 Test #2: Base64Test.DecodeSimple ........................................................ Passed 0.01 sec Start 5: Base64Test.EncodeVector 2/536 Test #1: Base64Test.EncodeSimple ........................................................ Passed 0.02 sec Start 6: Base64Test.RoundTripBinary 3/536 Test #4: Base64Test.EdgeCases ........................................................... Passed 0.02 sec Start 7: Base64Test.SingleCharEncode 4/536 Test #3: Base64Test.DecodeWithPadding ................................................... Passed 0.02 sec Start 8: Base64Test.TwoCharEncode 5/536 Test #5: Base64Test.EncodeVector ........................................................ Passed 0.02 sec Start 9: Base64Test.DecodeInvalidChars 6/536 Test #6: Base64Test.RoundTripBinary ..................................................... Passed 0.02 sec 7/536 Test #7: Base64Test.SingleCharEncode .................................................... Passed 0.01 sec Start 10: Base64Test.RoundTripAllByteValues Start 11: Base64Test.RoundTripEveryLengthUpTo64 8/536 Test #8: Base64Test.TwoCharEncode ....................................................... Passed 0.02 sec 9/536 Test #9: Base64Test.DecodeInvalidChars .................................................. Passed 0.02 sec Start 12: Base64Test.DecodeStopsAtFirstInvalidByte Start 13: Base64Test.DecodeHandlesHighBitBytesWithoutCrashing 10/536 Test #11: Base64Test.RoundTripEveryLengthUpTo64 .......................................... Passed 0.02 sec Start 14: Base64Test.RoundTripLargeChunk 11/536 Test #12: Base64Test.DecodeStopsAtFirstInvalidByte ....................................... Passed 0.02 sec Start 15: AirPods.ParsesEveryComponent 12/536 Test #10: Base64Test.RoundTripAllByteValues .............................................. Passed 0.03 sec Start 16: AirPods.PartialUpdateLeavesOtherComponentsAlone 13/536 Test #13: Base64Test.DecodeHandlesHighBitBytesWithoutCrashing ............................ Passed 0.02 sec Start 17: AirPods.DisconnectedComponentReadsUnknownNotZero 14/536 Test #15: AirPods.ParsesEveryComponent ................................................... Passed 0.02 sec Start 18: AirPods.RejectsMalformedPackets 15/536 Test #16: AirPods.PartialUpdateLeavesOtherComponentsAlone ................................ Passed 0.02 sec Start 19: AirPods.ParsesEveryListeningMode 16/536 Test #14: Base64Test.RoundTripLargeChunk ................................................. Passed 0.03 sec Start 20: AirPods.RejectsMalformedListeningModes 17/536 Test #17: AirPods.DisconnectedComponentReadsUnknownNotZero ............................... Passed 0.03 sec Start 21: AirPods.ParsesEarDetection 18/536 Test #19: AirPods.ParsesEveryListeningMode ............................................... Passed 0.02 sec Start 22: AirPods.RejectsMalformedEarDetection 19/536 Test #18: AirPods.RejectsMalformedPackets ................................................ Passed 0.03 sec Start 23: AirPods.PauseModeNeverDoesNothing 20/536 Test #20: AirPods.RejectsMalformedListeningModes ......................................... Passed 0.02 sec 21/536 Test #21: AirPods.ParsesEarDetection ..................................................... Passed 0.02 sec Start 24: AirPods.FirstEarReportIsNotATransition Start 25: AirPods.PausesWhenOneBudComesOut 22/536 Test #23: AirPods.PauseModeNeverDoesNothing .............................................. Passed 0.01 sec Start 26: AirPods.DoesNotResumeWhatItDidNotPause 23/536 Test #24: AirPods.FirstEarReportIsNotATransition ......................................... Passed 0.02 sec 24/536 Test #25: AirPods.PausesWhenOneBudComesOut ............................................... Passed 0.02 sec Start 27: AirPods.PutsABudInTheCaseTheSameAsOutOfTheEar Start 28: AirPods.TreatsTheBatteryStatusAsABitmask 25/536 Test #22: AirPods.RejectsMalformedEarDetection ........................................... Passed 0.03 sec Start 29: AirPods.ParsesTheConnectedDeviceList 26/536 Test #26: AirPods.DoesNotResumeWhatItDidNotPause ......................................... Passed 0.02 sec Start 30: AirPods.SeparatesAnIdlePeerFromOneTakingTheBuds 27/536 Test #28: AirPods.TreatsTheBatteryStatusAsABitmask ....................................... Passed 0.01 sec Start 31: AirPods.ReadsOwnershipFromTheOwnerBit 28/536 Test #27: AirPods.PutsABudInTheCaseTheSameAsOutOfTheEar .................................. Passed 0.02 sec Start 32: AirPods.BuildsTheHostRegistrationPackets 29/536 Test #30: AirPods.SeparatesAnIdlePeerFromOneTakingTheBuds ................................ Passed 0.01 sec Start 33: AirPods.YieldsOnlyToAnOwnerWithAudio 30/536 Test #29: AirPods.ParsesTheConnectedDeviceList ........................................... Passed 0.02 sec Start 34: AirPods.SummarisesPeersWithoutCountingItself 31/536 Test #31: AirPods.ReadsOwnershipFromTheOwnerBit .......................................... Passed 0.01 sec Start 35: AirPods.ParsesTheAudioSource 32/536 Test #33: AirPods.YieldsOnlyToAnOwnerWithAudio ........................................... Passed 0.01 sec Start 36: AirPods.ClaimsWhenPlayingHereWithoutOwningTheBuds 33/536 Test #32: AirPods.BuildsTheHostRegistrationPackets ....................................... Passed 0.01 sec 34/536 Test #34: AirPods.SummarisesPeersWithoutCountingItself ................................... Passed 0.01 sec Start 37: AirPods.OwnershipFollowsThePeerTakingTheBuds Start 38: AirPods.OwnershipIsOffUnlessEnabledButStillGivesTheBudsBack 35/536 Test #37: AirPods.OwnershipFollowsThePeerTakingTheBuds ................................... Passed 0.01 sec 36/536 Test #38: AirPods.OwnershipIsOffUnlessEnabledButStillGivesTheBudsBack .................... Passed 0.01 sec Start 39: AirPods.HandoffIsOffUnlessEnabled Start 40: AirPods.ReclaimsReleasedBudsEvenWhenTurnedOff 37/536 Test #35: AirPods.ParsesTheAudioSource ................................................... Passed 0.02 sec Start 41: AirPods.HandsBudsOverForACallAndTakesThemBack 38/536 Test #36: AirPods.ClaimsWhenPlayingHereWithoutOwningTheBuds .............................. Passed 0.02 sec Start 42: AirPods.DoesNotReclaimBudsItDidNotRelease 39/536 Test #39: AirPods.HandoffIsOffUnlessEnabled .............................................. Passed 0.02 sec Start 43: AirPods.DoesNothingWhenTheBudsAreNotOnThisMachine 40/536 Test #40: AirPods.ReclaimsReleasedBudsEvenWhenTurnedOff .................................. Passed 0.02 sec Start 44: AirPods.DoesNotReleaseTwice 41/536 Test #41: AirPods.HandsBudsOverForACallAndTakesThemBack .................................. Passed 0.02 sec Start 45: AirPods.RecognisesCallsThatWantTheBuds 42/536 Test #43: AirPods.DoesNothingWhenTheBudsAreNotOnThisMachine .............................. Passed 0.02 sec Start 46: AirPods.DistinguishesAirPodsFromAnIPhone 43/536 Test #44: AirPods.DoesNotReleaseTwice .................................................... Passed 0.02 sec Start 47: AirPods.JsonOmitsUnknownListeningMode 44/536 Test #42: AirPods.DoesNotReclaimBudsItDidNotRelease ...................................... Passed 0.03 sec Start 48: Audio.NamesTheSinkAfterTheAddress 45/536 Test #45: AirPods.RecognisesCallsThatWantTheBuds ......................................... Passed 0.01 sec Start 49: Audio.HasNoSinkWithoutAnAddress 46/536 Test #46: AirPods.DistinguishesAirPodsFromAnIPhone ....................................... Passed 0.01 sec Start 50: Audio.ReadsARawSinkVolume 47/536 Test #47: AirPods.JsonOmitsUnknownListeningMode .......................................... Passed 0.02 sec Start 51: Audio.ReadsACardsActiveProfile 48/536 Test #48: Audio.NamesTheSinkAfterTheAddress .............................................. Passed 0.02 sec 49/536 Test #49: Audio.HasNoSinkWithoutAnAddress ................................................ Passed 0.01 sec Start 52: BluetoothObjects.ParsesAdapterProperties Start 53: BluetoothObjects.ReadsTheApplePresentationFromTheAdapterModalias 50/536 Test #50: Audio.ReadsARawSinkVolume ...................................................... Passed 0.02 sec Start 54: BluetoothObjects.ParsesDeviceAndBearer 51/536 Test #51: Audio.ReadsACardsActiveProfile ................................................. Passed 0.02 sec Start 55: BluetoothObjects.UuidMatchIsCaseInsensitive 52/536 Test #53: BluetoothObjects.ReadsTheApplePresentationFromTheAdapterModalias ............... Passed 0.01 sec Start 56: BluetoothObjects.DerivesAdapterPathWhenPropertyMissing 53/536 Test #52: BluetoothObjects.ParsesAdapterProperties ....................................... Passed 0.02 sec Start 57: BluetoothObjects.BondedFallsBackToPaired 54/536 Test #54: BluetoothObjects.ParsesDeviceAndBearer ......................................... Passed 0.02 sec Start 58: BluetoothObjects.IgnoresUnexpectedPropertyTypes 55/536 Test #55: BluetoothObjects.UuidMatchIsCaseInsensitive .................................... Passed 0.02 sec Start 59: BluetoothObjects.RejectsNullAndWrongShape 56/536 Test #58: BluetoothObjects.IgnoresUnexpectedPropertyTypes ................................ Passed 0.01 sec 57/536 Test #56: BluetoothObjects.DerivesAdapterPathWhenPropertyMissing ......................... Passed 0.01 sec Start 60: BluetoothObjects.ClassicLinkComesFromTheBredrBearerNotTheAggregate Start 61: BluetoothObjects.ClassicLinkFallsBackToTheAggregateWithoutBearers 58/536 Test #57: BluetoothObjects.BondedFallsBackToPaired ....................................... Passed 0.02 sec Start 62: BluetoothObjects.StubBearerIsNotMistakenForAReading 59/536 Test #59: BluetoothObjects.RejectsNullAndWrongShape ...................................... Passed 0.02 sec Start 63: Capability.FullModeWhenBearerConfirmed 60/536 Test #60: BluetoothObjects.ClassicLinkComesFromTheBredrBearerNotTheAggregate ............. Passed 0.02 sec Start 64: Capability.SecureConnectionsStateIsInjectedRatherThanReadDuringResolution 61/536 Test #61: BluetoothObjects.ClassicLinkFallsBackToTheAggregateWithoutBearers .............. Passed 0.02 sec Start 65: Capability.CompatibilityWhenExperimentalIsOff 62/536 Test #63: Capability.FullModeWhenBearerConfirmed ......................................... Passed 0.02 sec 63/536 Test #62: BluetoothObjects.StubBearerIsNotMistakenForAReading ............................ Passed 0.02 sec Start 66: Capability.AnEmptyBearerInterfaceIsNotProofOfTheApi Start 67: Capability.ClassicOnlyBondDoesNotDisproveBearerApi 64/536 Test #64: Capability.SecureConnectionsStateIsInjectedRatherThanReadDuringResolution ...... Passed 0.03 sec Start 68: Capability.ClassicOnlyIphoneBondIsNamedAsSuch 65/536 Test #65: Capability.CompatibilityWhenExperimentalIsOff .................................. Passed 0.02 sec Start 69: Capability.APopulatedLeBearerIsNotProofOfAnLeBond 66/536 Test #66: Capability.AnEmptyBearerInterfaceIsNotProofOfTheApi ............................ Passed 0.03 sec Start 70: Capability.NoRepairAdviceWhenTheAdapterCannotAdvertise 67/536 Test #67: Capability.ClassicOnlyBondDoesNotDisproveBearerApi ............................. Passed 0.02 sec 68/536 Test #68: Capability.ClassicOnlyIphoneBondIsNamedAsSuch .................................. Passed 0.02 sec Start 71: Capability.ClassicOnlyBondOnANonPhoneIsNotReported Start 72: Capability.BearerUnknownWithoutAnyBondStaysFull 69/536 Test #70: Capability.NoRepairAdviceWhenTheAdapterCannotAdvertise ......................... Passed 0.02 sec 70/536 Test #69: Capability.APopulatedLeBearerIsNotProofOfAnLeBond .............................. Passed 0.03 sec Start 73: Capability.BlockedWhenAdapterMissingOrOff Start 74: Capability.BlockedWithoutCentralRole 71/536 Test #72: Capability.BearerUnknownWithoutAnyBondStaysFull ................................ Passed 0.01 sec Start 75: Capability.CompatibilityWithoutAdvertising 72/536 Test #71: Capability.ClassicOnlyBondOnANonPhoneIsNotReported ............................. Passed 0.02 sec Start 76: Capability.WrongClassIsReportedButDoesNotDowngradeMode 73/536 Test #74: Capability.BlockedWithoutCentralRole ........................................... Passed 0.02 sec 74/536 Test #76: Capability.WrongClassIsReportedButDoesNotDowngradeMode ......................... Passed 0.01 sec Start 77: Capability.ClassCommandWithSystemdEnablesTheUnit Start 78: Capability.ClassCommandWithoutSystemdEditsMainConf 75/536 Test #73: Capability.BlockedWhenAdapterMissingOrOff ...................................... Passed 0.03 sec 76/536 Test #75: Capability.CompatibilityWithoutAdvertising ..................................... Passed 0.02 sec Start 79: Capability.ExperimentalCommandWithoutSystemdEditsMainConf Start 80: Capability.PrefersAPoweredAdapter 77/536 Test #77: Capability.ClassCommandWithSystemdEnablesTheUnit ............................... Passed 0.01 sec Start 81: DeviceParsing.AnAncsNotifySessionProvesTheLeLinkIsUp 78/536 Test #79: Capability.ExperimentalCommandWithoutSystemdEditsMainConf ...................... Passed 0.01 sec Start 82: DeviceParsing.ANotifyFlagLeftOverADeadLeBearerIsNotALink 79/536 Test #80: Capability.PrefersAPoweredAdapter .............................................. Passed 0.01 sec Start 83: DeviceParsing.AnAncsNotifySessionBelongsToOneDeviceOnly 80/536 Test #78: Capability.ClassCommandWithoutSystemdEditsMainConf ............................. Passed 0.02 sec Start 84: DeviceParsing.CachedCharacteristicsWithoutNotifyAreNotALink 81/536 Test #81: DeviceParsing.AnAncsNotifySessionProvesTheLeLinkIsUp ........................... Passed 0.01 sec Start 85: DeviceParsing.NoGattTreeAtAllMeansNoLeLink 82/536 Test #82: DeviceParsing.ANotifyFlagLeftOverADeadLeBearerIsNotALink ....................... Passed 0.01 sec Start 86: PreferredAdapter.ConfiguredIdWinsOverTheFirstPowered 83/536 Test #83: DeviceParsing.AnAncsNotifySessionBelongsToOneDeviceOnly ........................ Passed 0.01 sec Start 87: PreferredAdapter.FallsBackWhenTheConfiguredOneIsAbsent 84/536 Test #85: DeviceParsing.NoGattTreeAtAllMeansNoLeLink ..................................... Passed 0.01 sec Start 88: PreferredAdapter.PrefersPoweredThenFirst 85/536 Test #84: DeviceParsing.CachedCharacteristicsWithoutNotifyAreNotALink .................... Passed 0.02 sec Start 89: SecureConnectionsProbe.ParsesEnabledAndDisabledSettings 86/536 Test #86: PreferredAdapter.ConfiguredIdWinsOverTheFirstPowered ........................... Passed 0.02 sec 87/536 Test #87: PreferredAdapter.FallsBackWhenTheConfiguredOneIsAbsent ......................... Passed 0.02 sec Start 90: SecureConnectionsProbe.TimesOutAndTerminatesTheExactChild Start 91: SecureConnectionsProbe.DoesNotLeakParentDescriptorsIntoBtmgmt 88/536 Test #88: PreferredAdapter.PrefersPoweredThenFirst ....................................... Passed 0.03 sec Start 92: SecureConnectionsProbe.GivesBtmgmtAPollableStdin 89/536 Test #91: SecureConnectionsProbe.DoesNotLeakParentDescriptorsIntoBtmgmt .................. Passed 0.01 sec Start 93: AgentPolicy.AuthorizesOnlyMapAndPbap 90/536 Test #93: AgentPolicy.AuthorizesOnlyMapAndPbap ........................................... Passed 0.01 sec Start 94: AgentPolicy.RefusesEverythingElse 91/536 Test #92: SecureConnectionsProbe.GivesBtmgmtAPollableStdin ............................... Passed 0.02 sec Start 95: AgentPolicy.ServiceMatchIsCaseInsensitive 92/536 Test #89: SecureConnectionsProbe.ParsesEnabledAndDisabledSettings ........................ Passed 0.05 sec 93/536 Test #94: AgentPolicy.RefusesEverythingElse .............................................. Passed 0.02 sec Start 96: AgentPolicy.AuthorizesHandsFreeOnlyWithCallsEnabled Start 97: AgentPolicy.CallsEnabledStillRefusesEverythingElse 94/536 Test #95: AgentPolicy.ServiceMatchIsCaseInsensitive ...................................... Passed 0.02 sec Start 98: Passkey.FormatsSixDigitsWithLeadingZeros 95/536 Test #96: AgentPolicy.AuthorizesHandsFreeOnlyWithCallsEnabled ............................ Passed 0.02 sec Start 99: BluetoothConfig.RoundTrips 96/536 Test #97: AgentPolicy.CallsEnabledStillRefusesEverythingElse ............................. Passed 0.02 sec Start 100: BluetoothConfig.DefaultsToConnectFirstAndAncsEnabled 97/536 Test #98: Passkey.FormatsSixDigitsWithLeadingZeros ....................................... Passed 0.02 sec Start 101: BluetoothConfig.ClampsTheAwayGraceToAtLeastASecond 98/536 Test #90: SecureConnectionsProbe.TimesOutAndTerminatesTheExactChild ...................... Passed 0.08 sec Start 102: BluetoothConfig.SupervisedAddressIsEmptyWhenDisabled 99/536 Test #99: BluetoothConfig.RoundTrips ..................................................... Passed 0.02 sec Start 103: BluetoothConfig.UnknownStrategyFallsBackToConnectFirst 100/536 Test #100: BluetoothConfig.DefaultsToConnectFirstAndAncsEnabled ........................... Passed 0.03 sec 101/536 Test #101: BluetoothConfig.ClampsTheAwayGraceToAtLeastASecond ............................. Passed 0.02 sec Start 104: BluetoothConfig.SurvivesCorruptFile Start 105: BluetoothConfig.UnversionedFileTakesTheContentDefault 102/536 Test #102: BluetoothConfig.SupervisedAddressIsEmptyWhenDisabled ........................... Passed 0.03 sec 103/536 Test #103: BluetoothConfig.UnknownStrategyFallsBackToConnectFirst ......................... Passed 0.03 sec Start 106: BluetoothConfig.VersionedFileKeepsTheStoredChoice Start 107: BluetoothConfig.SerializeStampsTheVersion 104/536 Test #104: BluetoothConfig.SurvivesCorruptFile ............................................ Passed 0.03 sec Start 108: FallbackPolicy.RetriesARefusedConnectFirst 105/536 Test #106: BluetoothConfig.VersionedFileKeepsTheStoredChoice .............................. Passed 0.01 sec Start 109: FallbackPolicy.DoesNotRetryWhatAlreadyWorked 106/536 Test #107: BluetoothConfig.SerializeStampsTheVersion ...................................... Passed 0.02 sec 107/536 Test #108: FallbackPolicy.RetriesARefusedConnectFirst ..................................... Passed 0.02 sec Start 110: FallbackPolicy.DoesNotRetryAUserRejection Start 111: FallbackPolicy.NeverRetriesExplicitPair 108/536 Test #105: BluetoothConfig.UnversionedFileTakesTheContentDefault .......................... Passed 0.06 sec 109/536 Test #109: FallbackPolicy.DoesNotRetryWhatAlreadyWorked ................................... Passed 0.03 sec Start 112: DialogAnswer.OnlyAcceptRejectAndTimeoutAreAnswers Start 113: DialogAnswer.ADialogThatCouldNotRunAnsweredNothing 110/536 Test #110: FallbackPolicy.DoesNotRetryAUserRejection ...................................... Passed 0.05 sec Start 114: AuthenticationFailure.RecognizesBlueZErrorNames 111/536 Test #111: FallbackPolicy.NeverRetriesExplicitPair ........................................ Passed 0.06 sec Start 115: AuthenticationFailure.IgnoresConnectAndTransportErrors 112/536 Test #114: AuthenticationFailure.RecognizesBlueZErrorNames ................................ Passed 0.02 sec 113/536 Test #115: AuthenticationFailure.IgnoresConnectAndTransportErrors ......................... Passed 0.02 sec Start 116: PairResultJson.ReportsTheStrategyThatBonded Start 117: BearerSupervisor.ConnectsClassicThenLeAfterSettling 114/536 Test #112: DialogAnswer.OnlyAcceptRejectAndTimeoutAreAnswers .............................. Passed 0.07 sec 115/536 Test #113: DialogAnswer.ADialogThatCouldNotRunAnsweredNothing ............................. Passed 0.06 sec Start 118: BearerSupervisor.ClassicBackoffGrowsAndCaps Start 119: BearerSupervisor.InProgressWidensTheClassicWindow 116/536 Test #116: PairResultJson.ReportsTheStrategyThatBonded .................................... Passed 0.02 sec Start 120: BearerSupervisor.DialsLeOnceThenLeavesItToTheSolicitation 117/536 Test #117: BearerSupervisor.ConnectsClassicThenLeAfterSettling ............................ Passed 0.02 sec Start 121: BearerSupervisor.SolicitationIsHeldOffOnlyWhileTheOneDialIsInFlight 118/536 Test #118: BearerSupervisor.ClassicBackoffGrowsAndCaps .................................... Passed 0.02 sec Start 122: BearerSupervisor.ClassicDroppingUnderADialDoesNotLatchTheSolicitationOffAir 119/536 Test #119: BearerSupervisor.InProgressWidensTheClassicWindow .............................. Passed 0.02 sec Start 123: BearerSupervisor.NamesThePhoneCycleAfterALongSilence 120/536 Test #123: BearerSupervisor.NamesThePhoneCycleAfterALongSilence ........................... Passed 0.02 sec Start 124: BearerSupervisor.BlamesTheAdapterWhenNothingWasEverSolicited 121/536 Test #120: BearerSupervisor.DialsLeOnceThenLeavesItToTheSolicitation ...................... Passed 0.04 sec 122/536 Test #122: BearerSupervisor.ClassicDroppingUnderADialDoesNotLatchTheSolicitationOffAir .... Passed 0.02 sec Start 125: BearerSupervisor.HandsTheBearerPreferenceBackToLeOnceClassicSettles Start 126: BearerSupervisor.DoesNotWriteTheBearerPreferenceOverADialInFlight 123/536 Test #124: BearerSupervisor.BlamesTheAdapterWhenNothingWasEverSolicited ................... Passed 0.02 sec Start 127: BearerSupervisor.BlamesThePinnedBondRatherThanThePhone 124/536 Test #125: BearerSupervisor.HandsTheBearerPreferenceBackToLeOnceClassicSettles ............ Passed 0.02 sec Start 128: BearerSupervisor.OneMomentOffAirDoesNotBlameTheAdapter 125/536 Test #121: BearerSupervisor.SolicitationIsHeldOffOnlyWhileTheOneDialIsInFlight ............ Passed 0.07 sec Start 129: BearerSupervisor.RecoversAfterDisconnect 126/536 Test #128: BearerSupervisor.OneMomentOffAirDoesNotBlameTheAdapter ......................... Passed 0.02 sec Start 130: BearerSupervisor.ResetClearsBackoffForImmediateRetry 127/536 Test #127: BearerSupervisor.BlamesThePinnedBondRatherThanThePhone ......................... Passed 0.03 sec Start 131: BearerSupervisor.SkipsLeWhenAncsDisabled 128/536 Test #129: BearerSupervisor.RecoversAfterDisconnect ....................................... Passed 0.02 sec Start 132: BearerSupervisor.SkipsLeWhenBearerUnavailable 129/536 Test #130: BearerSupervisor.ResetClearsBackoffForImmediateRetry ........................... Passed 0.02 sec Start 133: BearerSupervisor.ReportsMissingDevice 130/536 Test #126: BearerSupervisor.DoesNotWriteTheBearerPreferenceOverADialInFlight .............. Passed 0.06 sec Start 134: BearerSupervisor.StandsDownWhenDeviceIsUnpaired 131/536 Test #131: BearerSupervisor.SkipsLeWhenAncsDisabled ....................................... Passed 0.02 sec Start 135: BearerSupervisor.TransientFailuresDoNotEscalateTheBackoff 132/536 Test #133: BearerSupervisor.ReportsMissingDevice .......................................... Passed 0.02 sec 133/536 Test #132: BearerSupervisor.SkipsLeWhenBearerUnavailable .................................. Passed 0.02 sec Start 136: BearerSupervisor.PersistentFailuresStillEscalate Start 137: BearerSupervisor.ResetClearsAnEscalatedBackoff 134/536 Test #134: BearerSupervisor.StandsDownWhenDeviceIsUnpaired ................................ Passed 0.02 sec Start 138: BearerSupervisor.LeStaysReportedWhenOnlyClassicIsDown 135/536 Test #135: BearerSupervisor.TransientFailuresDoNotEscalateTheBackoff ...................... Passed 0.02 sec Start 139: BearerSupervisor.RepeatedRefusalNamesTheRemedy 136/536 Test #136: BearerSupervisor.PersistentFailuresStillEscalate ............................... Passed 0.02 sec Start 140: BearerSupervisor.LeComingUpClearsTheClassicBackoff 137/536 Test #137: BearerSupervisor.ResetClearsAnEscalatedBackoff ................................. Passed 0.02 sec Start 141: BearerSupervisor.LeComingUpClearsTheRefusalAdvice 138/536 Test #138: BearerSupervisor.LeStaysReportedWhenOnlyClassicIsDown .......................... Passed 0.03 sec Start 142: BearerSupervisor.ClassicBackoffStaysShortWhileLeIsUp 139/536 Test #139: BearerSupervisor.RepeatedRefusalNamesTheRemedy ................................. Passed 0.02 sec Start 143: BearerSupervisor.DoesNotBlameThePhoneWhileItAnswersOnLe 140/536 Test #140: BearerSupervisor.LeComingUpClearsTheClassicBackoff ............................. Passed 0.02 sec 141/536 Test #141: BearerSupervisor.LeComingUpClearsTheRefusalAdvice .............................. Passed 0.02 sec Start 144: BearerSupervisor.NamesTheHostWhenObexIsUpAndClassicKeepsRefusing Start 145: BearerSupervisor.CyclesClassicOnceWhenHandsFreeIsAbsent 142/536 Test #143: BearerSupervisor.DoesNotBlameThePhoneWhileItAnswersOnLe ........................ Passed 0.02 sec Start 146: BearerSupervisor.ArmsAnotherCycleAfterHandsFreeConnects 143/536 Test #144: BearerSupervisor.NamesTheHostWhenObexIsUpAndClassicKeepsRefusing ............... Passed 0.02 sec Start 147: BearerSupervisor.NeverCyclesClassicWhenCallsAreDisabled 144/536 Test #145: BearerSupervisor.CyclesClassicOnceWhenHandsFreeIsAbsent ........................ Passed 0.02 sec Start 148: BearerSupervisor.NeverCyclesClassicWhileHandsFreeIsPresent 145/536 Test #142: BearerSupervisor.ClassicBackoffStaysShortWhileLeIsUp ........................... Passed 0.04 sec Start 149: AncsSolicitation.GoesBackOnAirOverAnLeLinkThatCarriesNoAncs 146/536 Test #147: BearerSupervisor.NeverCyclesClassicWhenCallsAreDisabled ........................ Passed 0.02 sec 147/536 Test #146: BearerSupervisor.ArmsAnotherCycleAfterHandsFreeConnects ........................ Passed 0.02 sec 148/536 Test #148: BearerSupervisor.NeverCyclesClassicWhileHandsFreeIsPresent ..................... Passed 0.02 sec Start 150: ObexErrors.DistinguishesForbiddenFromBusy Start 151: ObexErrors.ServiceRecordMissingIsNotAPermissionProblem Start 152: ObexErrors.ClassifiesUnavailableAndOther 149/536 Test #150: ObexErrors.DistinguishesForbiddenFromBusy ...................................... Passed 0.02 sec Start 153: ObexErrors.MissingObexdIsNotBlamedOnThePhone 150/536 Test #151: ObexErrors.ServiceRecordMissingIsNotAPermissionProblem ......................... Passed 0.02 sec Start 154: ObexErrors.AdviceNamesThePermissionToggle 151/536 Test #149: AncsSolicitation.GoesBackOnAirOverAnLeLinkThatCarriesNoAncs .................... Passed 0.05 sec 152/536 Test #152: ObexErrors.ClassifiesUnavailableAndOther ....................................... Passed 0.02 sec Start 155: ProfileSupervisor.OpensBothSessionsWhenTheDeviceIsReady Start 156: ProfileSupervisor.DoesNothingUntilTheDeviceIsReady 153/536 Test #153: ObexErrors.MissingObexdIsNotBlamedOnThePhone ................................... Passed 0.03 sec 154/536 Test #154: ObexErrors.AdviceNamesThePermissionToggle ...................................... Passed 0.02 sec Start 157: ProfileSupervisor.RetriesOnceAfterForbidden Start 158: ProfileSupervisor.UsesFastCadenceUntilSomethingOpens 155/536 Test #156: ProfileSupervisor.DoesNothingUntilTheDeviceIsReady ............................. Passed 0.02 sec Start 159: ProfileSupervisor.PartialSuccessKeepsRetryingTheOtherProfile 156/536 Test #155: ProfileSupervisor.OpensBothSessionsWhenTheDeviceIsReady ........................ Passed 0.04 sec Start 160: ProfileSupervisor.RespectsPollInterval 157/536 Test #159: ProfileSupervisor.PartialSuccessKeepsRetryingTheOtherProfile ................... Passed 0.02 sec Start 161: ProfileSupervisor.ResetRemovesSessions 158/536 Test #157: ProfileSupervisor.RetriesOnceAfterForbidden .................................... Passed 0.05 sec Start 162: ProfileSupervisor.DestructionReleasesSessions 159/536 Test #160: ProfileSupervisor.RespectsPollInterval ......................................... Passed 0.03 sec Start 163: ProfileSupervisor.BusySessionKeepsPollingWithoutRetryBurst 160/536 Test #161: ProfileSupervisor.ResetRemovesSessions ......................................... Passed 0.02 sec Start 164: ProfileSupervisor.ForbiddenRetryRemovesThePreviousSession 161/536 Test #158: ProfileSupervisor.UsesFastCadenceUntilSomethingOpens ........................... Passed 0.06 sec Start 165: ProfileSupervisor.DropMapReopensWithoutTouchingPbap 162/536 Test #163: ProfileSupervisor.BusySessionKeepsPollingWithoutRetryBurst ..................... Passed 0.02 sec Start 166: AwayLock.LocksOnceTheGraceHasPassedAfterASupervisionTimeout 163/536 Test #165: ProfileSupervisor.DropMapReopensWithoutTouchingPbap ............................ Passed 0.02 sec Start 167: AwayLock.WaitsOutTheGraceBeforeLocking 164/536 Test #162: ProfileSupervisor.DestructionReleasesSessions .................................. Passed 0.05 sec 165/536 Test #166: AwayLock.LocksOnceTheGraceHasPassedAfterASupervisionTimeout .................... Passed 0.02 sec Start 168: AwayLock.NeverLocksWhileEitherBearerIsUp Start 169: AwayLock.NeverLocksWhileAnObexSessionIsOpen 166/536 Test #164: ProfileSupervisor.ForbiddenRetryRemovesThePreviousSession ...................... Passed 0.05 sec Start 170: AwayLock.LocksOnNoOtherDisconnectReason 167/536 Test #167: AwayLock.WaitsOutTheGraceBeforeLocking ......................................... Passed 0.03 sec 168/536 Test #168: AwayLock.NeverLocksWhileEitherBearerIsUp ....................................... Passed 0.02 sec Start 171: AwayLock.NeverLocksForADeviceThatIsNoLongerPaired Start 172: AwayLock.NeverLocksWhenTheSettingIsOff 169/536 Test #169: AwayLock.NeverLocksWhileAnObexSessionIsOpen .................................... Passed 0.03 sec 170/536 Test #170: AwayLock.LocksOnNoOtherDisconnectReason ........................................ Passed 0.02 sec Start 173: AwayLock.NeverLocksBeforeAnythingHasGoneDown Start 174: BMessageParse.ParsesTelephoneOriginator 171/536 Test #171: AwayLock.NeverLocksForADeviceThatIsNoLongerPaired .............................. Passed 0.02 sec 172/536 Test #172: AwayLock.NeverLocksWhenTheSettingIsOff ......................................... Passed 0.02 sec Start 175: BMessageParse.ParsesAppleIdOriginator Start 176: BMessageParse.KeepsMultilineAndUtf8Bodies 173/536 Test #173: AwayLock.NeverLocksBeforeAnythingHasGoneDown ................................... Passed 0.03 sec Start 177: BMessageParse.UnstuffsBodyLinesThatLookStructural 174/536 Test #175: BMessageParse.ParsesAppleIdOriginator .......................................... Passed 0.07 sec 175/536 Test #176: BMessageParse.KeepsMultilineAndUtf8Bodies ...................................... Passed 0.06 sec 176/536 Test #177: BMessageParse.UnstuffsBodyLinesThatLookStructural .............................. Passed 0.06 sec Start 178: BMessageParse.AcceptsLfOnlyAndIgnoresUnknownProperties Start 179: BMessageParse.RejectsMalformedInputWithoutThrowing Start 180: BMessageParse.StripsTheSchemeTagIosPutsOnAddresses 177/536 Test #174: BMessageParse.ParsesTelephoneOriginator ........................................ Passed 0.14 sec 178/536 Test #178: BMessageParse.AcceptsLfOnlyAndIgnoresUnknownProperties ......................... Passed 0.03 sec Start 181: BMessageParse.LeavesAnUntaggedAddressAlone Start 182: AddressIdentity.NormalizesPhoneFormatting 179/536 Test #180: BMessageParse.StripsTheSchemeTagIosPutsOnAddresses ............................. Passed 0.02 sec Start 183: AddressIdentity.DoesNotInventCountryCodes 180/536 Test #182: AddressIdentity.NormalizesPhoneFormatting ...................................... Passed 0.02 sec Start 184: AddressIdentity.EmailIsCaseInsensitive 181/536 Test #179: BMessageParse.RejectsMalformedInputWithoutThrowing ............................. Passed 0.06 sec Start 185: AddressIdentity.ThreadKeyPrefersTelAndNamespacesTypes 182/536 Test #181: BMessageParse.LeavesAnUntaggedAddressAlone ..................................... Passed 0.03 sec 183/536 Test #183: AddressIdentity.DoesNotInventCountryCodes ...................................... Passed 0.02 sec Start 186: AddressIdentity.AlphanumericSenderKeepsItsOwnKey Start 187: AddressIdentity.NameDoesNotAffectThreadKey 184/536 Test #185: AddressIdentity.ThreadKeyPrefersTelAndNamespacesTypes .......................... Passed 0.02 sec Start 188: Timestamps.ParsesMapBasicIso 185/536 Test #186: AddressIdentity.AlphanumericSenderKeepsItsOwnKey ............................... Passed 0.02 sec Start 189: MessageStore.DedupesByHandle 186/536 Test #184: AddressIdentity.EmailIsCaseInsensitive ......................................... Passed 0.04 sec 187/536 Test #187: AddressIdentity.NameDoesNotAffectThreadKey ..................................... Passed 0.02 sec Start 190: MessageStore.RejectsMessagesWithoutHandle Start 191: MessageStore.GroupsThreadsNewestFirst 188/536 Test #188: Timestamps.ParsesMapBasicIso ................................................... Passed 0.02 sec Start 192: MessageStore.CountsUnreadIncomingOnly 189/536 Test #189: MessageStore.DedupesByHandle ................................................... Passed 0.02 sec Start 193: MessageStore.MarkReadIsIdempotentAndReportsChange 190/536 Test #190: MessageStore.RejectsMessagesWithoutHandle ...................................... Passed 0.04 sec Start 194: MessageStore.MessagesAreOldestFirstAndLimited 191/536 Test #191: MessageStore.GroupsThreadsNewestFirst .......................................... Passed 0.03 sec Start 195: MessageStore.EvictsOldestBeyondCap 192/536 Test #192: MessageStore.CountsUnreadIncomingOnly .......................................... Passed 0.04 sec Start 196: MessageStore.BuildsMessageFromIncomingBMessage 193/536 Test #193: MessageStore.MarkReadIsIdempotentAndReportsChange .............................. Passed 0.04 sec Start 197: MessageStore.OutgoingMessageIsKeyedOnRecipient 194/536 Test #194: MessageStore.MessagesAreOldestFirstAndLimited .................................. Passed 0.03 sec 195/536 Test #195: MessageStore.EvictsOldestBeyondCap ............................................. Passed 0.03 sec Start 198: MessageStore.PhoneCopySupersedesTheLocalEcho Start 199: MessageStore.MultiLineEchoSurvivesAFlattenedPhoneCopy 196/536 Test #196: MessageStore.BuildsMessageFromIncomingBMessage ................................. Passed 0.03 sec Start 200: MessageStore.UnrelatedOutgoingMessagesAreNotCollapsed 197/536 Test #198: MessageStore.PhoneCopySupersedesTheLocalEcho ................................... Passed 0.02 sec Start 201: MessageStore.EchoIsCollapsedOnReplayToo 198/536 Test #199: MessageStore.MultiLineEchoSurvivesAFlattenedPhoneCopy .......................... Passed 0.02 sec Start 202: MessageStore.OneNumberSpelledTwoWaysIsOneThread 199/536 Test #197: MessageStore.OutgoingMessageIsKeyedOnRecipient ................................. Passed 0.04 sec Start 203: MessageStore.NationalAndInternationalFormsShareAThread 200/536 Test #201: MessageStore.EchoIsCollapsedOnReplayToo ........................................ Passed 0.02 sec Start 204: MessageStore.EchoCollapsesAcrossAddressSpellings 201/536 Test #202: MessageStore.OneNumberSpelledTwoWaysIsOneThread ................................ Passed 0.02 sec Start 205: MessageStore.ShortNumbersStaySeparate 202/536 Test #200: MessageStore.UnrelatedOutgoingMessagesAreNotCollapsed .......................... Passed 0.04 sec Start 206: MessageStore.RefreshesObjectPathOnRelist 203/536 Test #203: MessageStore.NationalAndInternationalFormsShareAThread ......................... Passed 0.02 sec Start 207: MapListing.BuildsMessageWithoutBMessageFetch 204/536 Test #204: MessageStore.EchoCollapsesAcrossAddressSpellings ............................... Passed 0.03 sec Start 208: MapListing.RoutesAppleIdSenderToEmailIdentity 205/536 Test #206: MessageStore.RefreshesObjectPathOnRelist ....................................... Passed 0.03 sec Start 209: MapListing.AgreesWithBMessageThreadKey 206/536 Test #207: MapListing.BuildsMessageWithoutBMessageFetch ................................... Passed 0.03 sec Start 210: MapListing.SentFlagMarksOutgoing 207/536 Test #205: MessageStore.ShortNumbersStaySeparate .......................................... Passed 0.04 sec Start 211: MapListing.IncomingIsKeyedOnTheSender 208/536 Test #208: MapListing.RoutesAppleIdSenderToEmailIdentity .................................. Passed 0.02 sec Start 212: MapListing.SentIsKeyedOnTheRecipient 209/536 Test #209: MapListing.AgreesWithBMessageThreadKey ......................................... Passed 0.03 sec Start 213: MapListing.SentFolderIsOutgoingWithoutTheFlag 210/536 Test #211: MapListing.IncomingIsKeyedOnTheSender .......................................... Passed 0.03 sec Start 214: MapListing.SentWithoutARecipientHasNoThread 211/536 Test #213: MapListing.SentFolderIsOutgoingWithoutTheFlag .................................. Passed 0.02 sec Start 215: MapListing.EmailRecipientIsKeyedAsAnAppleId 212/536 Test #210: MapListing.SentFlagMarksOutgoing ............................................... Passed 0.05 sec Start 216: MapHandle.StripsTheSessionScopedPrefix 213/536 Test #214: MapListing.SentWithoutARecipientHasNoThread .................................... Passed 0.02 sec Start 217: MapHandle.PassesThroughUnexpectedShapes 214/536 Test #212: MapListing.SentIsKeyedOnTheRecipient ........................................... Passed 0.05 sec Start 218: MapListingConversion.KeepsTheObjectPathForActingOnTheMessage 215/536 Test #215: MapListing.EmailRecipientIsKeyedAsAnAppleId .................................... Passed 0.02 sec Start 219: BMessage.MultiLineBodyKeepsItsLineBreaks 216/536 Test #219: BMessage.MultiLineBodyKeepsItsLineBreaks ....................................... Passed 0.02 sec Start 220: BMessageBuild.ProducesTheShapeThePhoneAccepts 217/536 Test #217: MapHandle.PassesThroughUnexpectedShapes ........................................ Passed 0.03 sec Start 221: BMessageBuild.AlwaysUsesSmsGsmEvenForAppleIdRecipients 218/536 Test #216: MapHandle.StripsTheSessionScopedPrefix ......................................... Passed 0.04 sec Start 222: BMessageBuild.AppleIdAddressesCarryASchemeTagSoIosCannotEatThem 219/536 Test #218: MapListingConversion.KeepsTheObjectPathForActingOnTheMessage ................... Passed 0.04 sec Start 223: BMessageBuild.UsesTheVcardShapeIosParsesCorrectly 220/536 Test #220: BMessageBuild.ProducesTheShapeThePhoneAccepts .................................. Passed 0.03 sec Start 224: BMessageBuild.EmailRecipientSurvivesAParseOfWhatWasBuilt 221/536 Test #221: BMessageBuild.AlwaysUsesSmsGsmEvenForAppleIdRecipients ......................... Passed 0.04 sec 222/536 Test #222: BMessageBuild.AppleIdAddressesCarryASchemeTagSoIosCannotEatThem ................ Passed 0.03 sec Start 225: BMessageBuild.LengthCountsTheWholeMessageBlock Start 226: BMessageBuild.ATrailingNewlineDoesNotBecomeBlankLines 223/536 Test #224: BMessageBuild.EmailRecipientSurvivesAParseOfWhatWasBuilt ....................... Passed 0.03 sec Start 227: BMessageBuild.RejectsNewlineInjectedRecipient 224/536 Test #223: BMessageBuild.UsesTheVcardShapeIosParsesCorrectly .............................. Passed 0.05 sec Start 228: BMessageBuild.RejectsVCardDelimiters 225/536 Test #228: BMessageBuild.RejectsVCardDelimiters ........................................... Passed 0.02 sec Start 229: BMessageBuild.RejectsControlCharacters 226/536 Test #225: BMessageBuild.LengthCountsTheWholeMessageBlock ................................. Passed 0.05 sec Start 230: BMessageBuild.BuildRefusesAnInvalidRecipientEntirely 227/536 Test #226: BMessageBuild.ATrailingNewlineDoesNotBecomeBlankLines .......................... Passed 0.04 sec Start 231: BMessageBuild.InjectedRecipientNeverSurvivesIntoAParsedMessage 228/536 Test #230: BMessageBuild.BuildRefusesAnInvalidRecipientEntirely ........................... Passed 0.06 sec Start 232: BMessageBuild.AcceptsAddressesPeopleActuallyWrite 229/536 Test #227: BMessageBuild.RejectsNewlineInjectedRecipient .................................. Passed 0.10 sec Start 233: BMessageBuild.RejectsAddressesThatAreNotAddresses 230/536 Test #229: BMessageBuild.RejectsControlCharacters ......................................... Passed 0.11 sec Start 234: BMessageBuild.StuffsBodyLinesThatLookStructural 231/536 Test #232: BMessageBuild.AcceptsAddressesPeopleActuallyWrite .............................. Passed 0.05 sec Start 235: BMessageBuild.StuffedBodySurvivesARoundTrip 232/536 Test #231: BMessageBuild.InjectedRecipientNeverSurvivesIntoAParsedMessage ................. Passed 0.11 sec Start 236: BMessageBuild.PreservesUtf8Bodies 233/536 Test #234: BMessageBuild.StuffsBodyLinesThatLookStructural ................................ Passed 0.02 sec Start 237: BMessageBuild.HandlesMultiLineAndEmptyBodies 234/536 Test #233: BMessageBuild.RejectsAddressesThatAreNotAddresses .............................. Passed 0.06 sec Start 238: BMessageBuild.ParsesRecipientsFromThreadKeys 235/536 Test #236: BMessageBuild.PreservesUtf8Bodies .............................................. Passed 0.02 sec Start 239: BMessageBuild.RefusesThreadKeysItDoesNotUnderstand 236/536 Test #235: BMessageBuild.StuffedBodySurvivesARoundTrip .................................... Passed 0.03 sec Start 240: BMessageBuild.ParsesRecipientsFromTypedInput 237/536 Test #237: BMessageBuild.HandlesMultiLineAndEmptyBodies ................................... Passed 0.03 sec Start 241: BMessageBuild.RefusesTypedInputThatIsNotAnAddress 238/536 Test #239: BMessageBuild.RefusesThreadKeysItDoesNotUnderstand ............................. Passed 0.03 sec Start 242: AncsParser.ParsesASourceEvent 239/536 Test #240: BMessageBuild.ParsesRecipientsFromTypedInput ................................... Passed 0.02 sec Start 243: AncsParser.RejectsSourcePacketsOfTheWrongLength 240/536 Test #238: BMessageBuild.ParsesRecipientsFromThreadKeys ................................... Passed 0.05 sec Start 244: AncsParser.RejectsUnknownEventIds 241/536 Test #241: BMessageBuild.RefusesTypedInputThatIsNotAnAddress .............................. Passed 0.03 sec Start 245: AncsParser.ReassemblesACompleteResponse 242/536 Test #243: AncsParser.RejectsSourcePacketsOfTheWrongLength ................................ Passed 0.02 sec Start 246: AncsParser.ReassemblesAcrossArbitraryFragmentBoundaries 243/536 Test #242: AncsParser.ParsesASourceEvent .................................................. Passed 0.03 sec Start 247: AncsParser.ReassemblesOneByteAtATime 244/536 Test #245: AncsParser.ReassemblesACompleteResponse ........................................ Passed 0.02 sec Start 248: AncsParser.ParsesAppAttributeResponses 245/536 Test #244: AncsParser.RejectsUnknownEventIds .............................................. Passed 0.04 sec Start 249: AncsParser.WaitsForAnUnterminatedAppIdentifier 246/536 Test #246: AncsParser.ReassemblesAcrossArbitraryFragmentBoundaries ........................ Passed 0.03 sec 247/536 Test #247: AncsParser.ReassemblesOneByteAtATime ........................................... Passed 0.02 sec Start 250: AncsParser.RejectsAResponseThatDoesNotEchoTheCommand Start 251: AncsParser.RejectsAttributesReturnedOutOfOrder 248/536 Test #249: AncsParser.WaitsForAnUnterminatedAppIdentifier ................................. Passed 0.02 sec Start 252: AncsParser.RejectsAnImplausibleAttributeLength 249/536 Test #250: AncsParser.RejectsAResponseThatDoesNotEchoTheCommand ........................... Passed 0.02 sec Start 253: AncsParser.RejectsTrailingBytesAfterACompleteResponse 250/536 Test #248: AncsParser.ParsesAppAttributeResponses ......................................... Passed 0.04 sec Start 254: AncsParser.RejectsAResponseThatGrowsWithoutEnding 251/536 Test #252: AncsParser.RejectsAnImplausibleAttributeLength ................................. Passed 0.02 sec Start 255: AncsParser.RefusesFragmentsWithNoRequestInFlight 252/536 Test #251: AncsParser.RejectsAttributesReturnedOutOfOrder ................................. Passed 0.04 sec Start 256: AncsParser.RecoversAfterAnError 253/536 Test #253: AncsParser.RejectsTrailingBytesAfterACompleteResponse .......................... Passed 0.03 sec Start 257: AncsParser.HandlesEmptyAttributeValues 254/536 Test #254: AncsParser.RejectsAResponseThatGrowsWithoutEnding .............................. Passed 0.03 sec Start 258: AncsSequencer.EncodesANotificationRequest 255/536 Test #255: AncsParser.RefusesFragmentsWithNoRequestInFlight ............................... Passed 0.03 sec 256/536 Test #256: AncsParser.RecoversAfterAnError ................................................ Passed 0.03 sec Start 259: AncsSequencer.EncodesDateWithoutALength Start 260: AncsSequencer.EncodesAnAppRequest 257/536 Test #257: AncsParser.HandlesEmptyAttributeValues ......................................... Passed 0.03 sec Start 261: AncsSequencer.EncodesAnActionRequest 258/536 Test #258: AncsSequencer.EncodesANotificationRequest ...................................... Passed 0.04 sec Start 262: AncsSequencer.KeepsExactlyOneRequestInFlight 259/536 Test #259: AncsSequencer.EncodesDateWithoutALength ........................................ Passed 0.04 sec 260/536 Test #260: AncsSequencer.EncodesAnAppRequest .............................................. Passed 0.03 sec Start 263: AncsSequencer.MatchesEachResponseToItsOwnRequest Start 264: AncsSequencer.ALateResponseIsDeliveredAgainstTheWrongRequest 261/536 Test #261: AncsSequencer.EncodesAnActionRequest ........................................... Passed 0.04 sec Start 265: AncsSequencer.DoesNotWaitForAResponseToAnAction 262/536 Test #262: AncsSequencer.KeepsExactlyOneRequestInFlight ................................... Passed 0.03 sec Start 266: AncsSequencer.TimesOutARequestThatIsNeverAnswered 263/536 Test #263: AncsSequencer.MatchesEachResponseToItsOwnRequest ............................... Passed 0.03 sec Start 267: AncsSequencer.FailsARequestWhoseWriteIsRefused 264/536 Test #264: AncsSequencer.ALateResponseIsDeliveredAgainstTheWrongRequest ................... Passed 0.03 sec Start 268: AncsSequencer.FailsTheRequestWhenItsResponseIsMalformed 265/536 Test #265: AncsSequencer.DoesNotWaitForAResponseToAnAction ................................ Passed 0.04 sec Start 269: AncsSequencer.DropsEverythingOnReset 266/536 Test #266: AncsSequencer.TimesOutARequestThatIsNeverAnswered .............................. Passed 0.03 sec Start 270: AncsSequencer.BoundsTheQueue 267/536 Test #267: AncsSequencer.FailsARequestWhoseWriteIsRefused ................................. Passed 0.04 sec 268/536 Test #268: AncsSequencer.FailsTheRequestWhenItsResponseIsMalformed ........................ Passed 0.03 sec Start 271: AncsNotifications.ListsPreExistingWithoutAPopup Start 272: AncsNotifications.DedupesRepeatedAddedEvents 269/536 Test #269: AncsSequencer.DropsEverythingOnReset ........................................... Passed 0.03 sec Start 273: AncsNotifications.NeverSuppressesAModification 270/536 Test #270: AncsSequencer.BoundsTheQueue ................................................... Passed 0.04 sec 271/536 Test #271: AncsNotifications.ListsPreExistingWithoutAPopup ................................ Passed 0.03 sec Start 274: AncsNotifications.WithdrawsRemovedNotifications Start 275: AncsNotifications.SuppressesDesktopPopupsForMessages 272/536 Test #272: AncsNotifications.DedupesRepeatedAddedEvents ................................... Passed 0.04 sec 273/536 Test #273: AncsNotifications.NeverSuppressesAModification ................................. Passed 0.03 sec Start 276: AncsNotifications.KeepsRecentNotificationsNewestFirst Start 277: AncsNotifications.ClearingForgetsEverything 274/536 Test #274: AncsNotifications.WithdrawsRemovedNotifications ................................ Passed 0.03 sec Start 278: AncsAppName.DerivesTheLastBundleComponent 275/536 Test #276: AncsNotifications.KeepsRecentNotificationsNewestFirst .......................... Passed 0.02 sec Start 279: AncsIcons.PrefersTheAppOverItsCategory 276/536 Test #277: AncsNotifications.ClearingForgetsEverything .................................... Passed 0.02 sec Start 280: AncsIcons.FallsBackToTheCategoryForAnUnknownApp 277/536 Test #275: AncsNotifications.SuppressesDesktopPopupsForMessages ........................... Passed 0.04 sec Start 281: AncsIcons.AlwaysEndsWithAnIconThatShipsWithTether 278/536 Test #279: AncsIcons.PrefersTheAppOverItsCategory ......................................... Passed 0.02 sec Start 282: AncsLaunchTarget.OffersAWayToReachTheLinuxApp 279/536 Test #280: AncsIcons.FallsBackToTheCategoryForAnUnknownApp ................................ Passed 0.02 sec Start 283: AncsLaunchTarget.IsEmptyWithoutALinuxCounterpart 280/536 Test #278: AncsAppName.DerivesTheLastBundleComponent ...................................... Passed 0.04 sec Start 284: AncsRegistry.RenameAppTouchesOnlyThatApp 281/536 Test #281: AncsIcons.AlwaysEndsWithAnIconThatShipsWithTether .............................. Passed 0.02 sec Start 285: AncsRegistry.RenameAppIgnoresEmptyArguments 282/536 Test #282: AncsLaunchTarget.OffersAWayToReachTheLinuxApp .................................. Passed 0.03 sec 283/536 Test #284: AncsRegistry.RenameAppTouchesOnlyThatApp ....................................... Passed 0.01 sec Start 286: AncsRegistry.ANewSessionStopsRecycledUidsReadingAsReplays Start 287: AncsRegistry.ANewSessionKeepsWhatIsOnScreen 284/536 Test #283: AncsLaunchTarget.IsEmptyWithoutALinuxCounterpart ............................... Passed 0.03 sec 285/536 Test #285: AncsRegistry.RenameAppIgnoresEmptyArguments .................................... Passed 0.02 sec Start 288: AncsRegistry.AReplayUnderANewSessionReplacesTheStaleCopy Start 289: AncsRegistry.RecentIsOrderedByDeliveryTime 286/536 Test #286: AncsRegistry.ANewSessionStopsRecycledUidsReadingAsReplays ...................... Passed 0.02 sec Start 290: Groups.ParsesAnUnnamedGroupSubtitle 287/536 Test #287: AncsRegistry.ANewSessionKeepsWhatIsOnScreen .................................... Passed 0.03 sec Start 291: Groups.ParsesLongerParticipantLists 288/536 Test #290: Groups.ParsesAnUnnamedGroupSubtitle ............................................ Passed 0.02 sec Start 292: Groups.ParsesANamedGroup 289/536 Test #289: AncsRegistry.RecentIsOrderedByDeliveryTime ..................................... Passed 0.03 sec Start 293: Groups.TreatsAOneToOneNotificationAsNotAGroup 290/536 Test #291: Groups.ParsesLongerParticipantLists ............................................ Passed 0.02 sec 291/536 Test #288: AncsRegistry.AReplayUnderANewSessionReplacesTheStaleCopy ....................... Passed 0.04 sec Start 294: Groups.NamedGroupsWithTheSameNameShareAKey Start 295: Groups.UnnamedGroupKeyDoesNotDependOnMemberOrder 292/536 Test #292: Groups.ParsesANamedGroup ....................................................... Passed 0.02 sec Start 296: Groups.CorrelatesAMessageToItsNotification 293/536 Test #293: Groups.TreatsAOneToOneNotificationAsNotAGroup .................................. Passed 0.03 sec Start 297: Groups.MatchesALongerBodyByItsPrefix 294/536 Test #294: Groups.NamedGroupsWithTheSameNameShareAKey ..................................... Passed 0.03 sec 295/536 Test #295: Groups.UnnamedGroupKeyDoesNotDependOnMemberOrder ............................... Passed 0.02 sec Start 298: Groups.IgnoresNotificationsOutsideTheWindow Start 299: Groups.RefusesAmbiguousRepeatedBodies 296/536 Test #296: Groups.CorrelatesAMessageToItsNotification ..................................... Passed 0.03 sec 297/536 Test #297: Groups.MatchesALongerBodyByItsPrefix ........................................... Passed 0.02 sec 298/536 Test #299: Groups.RefusesAmbiguousRepeatedBodies .......................................... Passed 0.01 sec Start 300: Groups.ReportsNoMatchForAnUnrelatedMessage Start 301: Groups.ExpiryDropsStaleNotifications Start 302: Groups.ResolvesAnUnnamedGroupWhenEveryNameIsUnambiguous 299/536 Test #298: Groups.IgnoresNotificationsOutsideTheWindow .................................... Passed 0.04 sec 300/536 Test #300: Groups.ReportsNoMatchForAnUnrelatedMessage ..................................... Passed 0.03 sec Start 303: Groups.RefusesAnAmbiguousParticipantName Start 304: Groups.RefusesAnUnknownParticipantName 301/536 Test #301: Groups.ExpiryDropsStaleNotifications ........................................... Passed 0.03 sec Start 305: Groups.NamedGroupsAreReadOnlyWithoutARoster 302/536 Test #302: Groups.ResolvesAnUnnamedGroupWhenEveryNameIsUnambiguous ........................ Passed 0.03 sec 303/536 Test #303: Groups.RefusesAnAmbiguousParticipantName ....................................... Passed 0.02 sec Start 306: Groups.ARosterMakesANamedGroupRepliable Start 307: Groups.RefusesARosterEntryThatCouldInjectARecipient 304/536 Test #306: Groups.ARosterMakesANamedGroupRepliable ........................................ Passed 0.01 sec Start 308: Groups.AnUnidentifiedThreadCannotBeRepliedTo 305/536 Test #304: Groups.RefusesAnUnknownParticipantName ......................................... Passed 0.03 sec Start 309: Groups.RepliesAreOffUntilEnabled 306/536 Test #305: Groups.NamedGroupsAreReadOnlyWithoutARoster .................................... Passed 0.03 sec Start 310: Groups.AnUnknownSenderInvalidatesTheRoute 307/536 Test #307: Groups.RefusesARosterEntryThatCouldInjectARecipient ............................ Passed 0.03 sec Start 311: Groups.RosterSurvivesARoundTrip 308/536 Test #308: Groups.AnUnidentifiedThreadCannotBeRepliedTo ................................... Passed 0.03 sec 309/536 Test #309: Groups.RepliesAreOffUntilEnabled ............................................... Passed 0.03 sec Start 312: Groups.CorruptRosterResolvesToNothing Start 313: BtDiagnostics.RedactsBareAddress 310/536 Test #312: Groups.CorruptRosterResolvesToNothing .......................................... Passed 0.01 sec Start 314: BtDiagnostics.RedactsDeviceNodeInObjectPath 311/536 Test #310: Groups.AnUnknownSenderInvalidatesTheRoute ...................................... Passed 0.03 sec 312/536 Test #311: Groups.RosterSurvivesARoundTrip ................................................ Passed 0.03 sec Start 315: BtDiagnostics.SameDeviceGetsSamePlaceholderAcrossSpellings Start 316: BtDiagnostics.DistinctDevicesGetDistinctPlaceholders 313/536 Test #313: BtDiagnostics.RedactsBareAddress ............................................... Passed 0.03 sec Start 317: BtDiagnostics.RedactsEmailAndPhoneNumber 314/536 Test #315: BtDiagnostics.SameDeviceGetsSamePlaceholderAcrossSpellings ..................... Passed 0.02 sec Start 318: BtDiagnostics.RedactsARegisteredDeviceAlias 315/536 Test #314: BtDiagnostics.RedactsDeviceNodeInObjectPath .................................... Passed 0.04 sec Start 319: BtDiagnostics.LeavesAGenericDeviceNameAlone 316/536 Test #316: BtDiagnostics.DistinctDevicesGetDistinctPlaceholders ........................... Passed 0.04 sec 317/536 Test #317: BtDiagnostics.RedactsEmailAndPhoneNumber ....................................... Passed 0.03 sec Start 320: BtDiagnostics.AnAliasWinsOverThePatternsInsideIt Start 321: BtDiagnostics.LeavesTimestampsAndErrorCodesAlone 318/536 Test #318: BtDiagnostics.RedactsARegisteredDeviceAlias .................................... Passed 0.03 sec 319/536 Test #319: BtDiagnostics.LeavesAGenericDeviceNameAlone .................................... Passed 0.02 sec Start 322: BtDiagnostics.RedactsHomeAndRuntimeDirectories Start 323: BtDiagnostics.RedactsAConfigDirectoryOutsideTheHome 320/536 Test #320: BtDiagnostics.AnAliasWinsOverThePatternsInsideIt ............................... Passed 0.03 sec 321/536 Test #322: BtDiagnostics.RedactsHomeAndRuntimeDirectories ................................. Passed 0.02 sec Start 324: BtDiagnostics.RedactsRuntimeDirectoryWithoutTheEnvironmentVariable Start 325: BtDiagnostics.DropsContentKeysRatherThanRedactingThem 322/536 Test #321: BtDiagnostics.LeavesTimestampsAndErrorCodesAlone ............................... Passed 0.04 sec 323/536 Test #323: BtDiagnostics.RedactsAConfigDirectoryOutsideTheHome ............................ Passed 0.02 sec Start 326: BtDiagnostics.RedactsNestedStructures Start 327: BtDiagnostics.TimelineKeepsOnlyStateEvents 324/536 Test #324: BtDiagnostics.RedactsRuntimeDirectoryWithoutTheEnvironmentVariable ............. Passed 0.03 sec Start 328: BtDiagnostics.TimelineStripsContentAtRecordTime 325/536 Test #325: BtDiagnostics.DropsContentKeysRatherThanRedactingThem .......................... Passed 0.03 sec Start 329: BtDiagnostics.TimelineIsOrderedAndMonotonic 326/536 Test #327: BtDiagnostics.TimelineKeepsOnlyStateEvents ..................................... Passed 0.02 sec Start 330: BtDiagnostics.TimelineIsBounded 327/536 Test #328: BtDiagnostics.TimelineStripsContentAtRecordTime ................................ Passed 0.02 sec Start 331: BtDiagnostics.ReportCarriesNoAddressOrContent 328/536 Test #326: BtDiagnostics.RedactsNestedStructures .......................................... Passed 0.04 sec 329/536 Test #329: BtDiagnostics.TimelineIsOrderedAndMonotonic .................................... Passed 0.02 sec Start 332: DialString.KeepsDigitsAndLeadingPlus Start 333: DialString.RefusesEverythingElse 330/536 Test #330: BtDiagnostics.TimelineIsBounded ................................................ Passed 0.03 sec Start 334: Telephony.ParsesTheGateway 331/536 Test #333: DialString.RefusesEverythingElse ............................................... Passed 0.02 sec Start 335: Telephony.ParsesOnlyTheSelectedGatewaysCalls 332/536 Test #332: DialString.KeepsDigitsAndLeadingPlus ........................................... Passed 0.05 sec Start 336: Telephony.GatewayPathIsMatchedWholeNotAsAPrefix 333/536 Test #331: BtDiagnostics.ReportCarriesNoAddressOrContent .................................. Passed 0.06 sec Start 337: Telephony.AbsentWhenHandsFreeIsNotConnected 334/536 Test #334: Telephony.ParsesTheGateway ..................................................... Passed 0.04 sec Start 338: Telephony.IsNotReadyBeforeTheServiceLevelConnection 335/536 Test #336: Telephony.GatewayPathIsMatchedWholeNotAsAPrefix ................................ Passed 0.02 sec Start 339: Telephony.TracksACallThroughItsStates 336/536 Test #337: Telephony.AbsentWhenHandsFreeIsNotConnected .................................... Passed 0.03 sec Start 340: Telephony.PassesUnknownStatesThrough 337/536 Test #335: Telephony.ParsesOnlyTheSelectedGatewaysCalls ................................... Passed 0.06 sec 338/536 Test #338: Telephony.IsNotReadyBeforeTheServiceLevelConnection ............................ Passed 0.03 sec Start 341: Telephony.WithheldCallerIdIsNotANumber Start 342: Telephony.SerializesCallsForClients 339/536 Test #339: Telephony.TracksACallThroughItsStates .......................................... Passed 0.02 sec Start 343: Telephony.SerializesTheGatewayForClients 340/536 Test #341: Telephony.WithheldCallerIdIsNotANumber ......................................... Passed 0.02 sec Start 344: PipewireTelephony.MatchesTheGatewayByAddress 341/536 Test #340: Telephony.PassesUnknownStatesThrough ........................................... Passed 0.03 sec Start 345: PipewireTelephony.RootManagerCarriesNoCalls 342/536 Test #342: Telephony.SerializesCallsForClients ............................................ Passed 0.03 sec Start 346: PipewireTelephony.ScopesCallsToTheirOwnGateway 343/536 Test #344: PipewireTelephony.MatchesTheGatewayByAddress ................................... Passed 0.03 sec Start 347: PipewireTelephony.CallsNeedAGatewayToBelongTo 344/536 Test #343: Telephony.SerializesTheGatewayForClients ....................................... Passed 0.05 sec Start 348: PipewireTelephony.UnknownAddressYieldsNoGateway 345/536 Test #345: PipewireTelephony.RootManagerCarriesNoCalls .................................... Passed 0.04 sec Start 349: PipewireTelephony.ReportsNoCellularIndicators 346/536 Test #346: PipewireTelephony.ScopesCallsToTheirOwnGateway ................................. Passed 0.04 sec Start 350: PipewireTelephony.EmptyPayloadIsNotAFailure 347/536 Test #347: PipewireTelephony.CallsNeedAGatewayToBelongTo .................................. Passed 0.03 sec Start 351: TelephonyClientSources.PrefersTheFirstSourceWithAGateway 348/536 Test #349: PipewireTelephony.ReportsNoCellularIndicators .................................. Passed 0.02 sec Start 352: TelephonyClientSources.FallsThroughToTheNextSource 349/536 Test #348: PipewireTelephony.UnknownAddressYieldsNoGateway ................................ Passed 0.04 sec Start 353: TelephonyClientSources.NoSourceReadsAsUnavailable 350/536 Test #350: PipewireTelephony.EmptyPayloadIsNotAFailure .................................... Passed 0.03 sec Start 354: TelephonyClientSources.AudioActionIsRefusedWithoutATransport 351/536 Test #352: TelephonyClientSources.FallsThroughToTheNextSource ............................. Passed 0.03 sec Start 355: TelephonyClientSources.DialArgumentMatchesTheStack 352/536 Test #351: TelephonyClientSources.PrefersTheFirstSourceWithAGateway ....................... Passed 0.04 sec 353/536 Test #353: TelephonyClientSources.NoSourceReadsAsUnavailable .............................. Passed 0.02 sec Start 356: VCard.ParsesNameTelAndEmail Start 357: VCard.KeepsEveryTelAndEmail 354/536 Test #354: TelephonyClientSources.AudioActionIsRefusedWithoutATransport ................... Passed 0.02 sec Start 358: VCard.ParsesMultipleCards 355/536 Test #357: VCard.KeepsEveryTelAndEmail .................................................... Passed 0.03 sec 356/536 Test #358: VCard.ParsesMultipleCards ...................................................... Passed 0.02 sec Start 359: VCard.UnfoldsContinuationLines Start 360: VCard.FallsBackToStructuredName 357/536 Test #355: TelephonyClientSources.DialArgumentMatchesTheStack ............................. Passed 0.06 sec 358/536 Test #356: VCard.ParsesNameTelAndEmail .................................................... Passed 0.05 sec Start 361: VCard.PrefersFormattedNameOverStructured Start 362: VCard.UnescapesValues 359/536 Test #359: VCard.UnfoldsContinuationLines ................................................. Passed 0.03 sec 360/536 Test #360: VCard.FallsBackToStructuredName ................................................ Passed 0.02 sec Start 363: VCard.IgnoresMalformedInput Start 364: VCard.RecoversFromUnterminatedCard 361/536 Test #361: VCard.PrefersFormattedNameOverStructured ....................................... Passed 0.03 sec Start 365: ContactStore.ResolvesNamesByTelAndEmail 362/536 Test #362: VCard.UnescapesValues .......................................................... Passed 0.04 sec 363/536 Test #363: VCard.IgnoresMalformedInput .................................................... Passed 0.03 sec 364/536 Test #364: VCard.RecoversFromUnterminatedCard ............................................. Passed 0.02 sec Start 366: ContactStore.MatchesNationalAndE164FormsForDisplay Start 367: ContactStore.RefusesToGuessWhenTwoContactsShareASuffix Start 368: ContactStore.DoesNotSuffixMatchShortNumbers 365/536 Test #365: ContactStore.ResolvesNamesByTelAndEmail ........................................ Passed 0.03 sec 366/536 Test #366: ContactStore.MatchesNationalAndE164FormsForDisplay ............................. Passed 0.02 sec Start 369: ContactStore.SurvivesJsonRoundTrip Start 370: ContactStore.CorruptCacheYieldsEmptyStore 367/536 Test #368: ContactStore.DoesNotSuffixMatchShortNumbers .................................... Passed 0.03 sec Start 371: ContactStore.SkipsUnnamedContacts 368/536 Test #370: ContactStore.CorruptCacheYieldsEmptyStore ...................................... Passed 0.02 sec Start 372: ContactStore.EncryptedCacheLeavesNothingReadable 369/536 Test #369: ContactStore.SurvivesJsonRoundTrip ............................................. Passed 0.04 sec Start 373: ContactStore.MigratesAPlaintextCacheOnLoad 370/536 Test #371: ContactStore.SkipsUnnamedContacts .............................................. Passed 0.04 sec 371/536 Test #367: ContactStore.RefusesToGuessWhenTwoContactsShareASuffix ......................... Passed 0.08 sec Start 374: ContactStore.RemovesASourceLeftBehindByAnInterruptedMigration Start 375: ContactStore.RetentionNoneWritesNothing 372/536 Test #372: ContactStore.EncryptedCacheLeavesNothingReadable ............................... Passed 0.04 sec Start 376: ContactStore.AnUnreadableKeyDoesNotClobberTheCache 373/536 Test #373: ContactStore.MigratesAPlaintextCacheOnLoad ..................................... Passed 0.03 sec Start 377: ContactStore.AnInterruptedMigrationKeepsTheDestinationNotTheSource 374/536 Test #374: ContactStore.RemovesASourceLeftBehindByAnInterruptedMigration .................. Passed 0.03 sec Start 378: ContactSearch.MatchesOnPartOfAName 375/536 Test #376: ContactStore.AnUnreadableKeyDoesNotClobberTheCache ............................. Passed 0.03 sec 376/536 Test #375: ContactStore.RetentionNoneWritesNothing ........................................ Passed 0.03 sec Start 379: ContactSearch.IsCaseInsensitive Start 380: ContactSearch.MatchesANumberTypedWithoutItsFormatting 377/536 Test #379: ContactSearch.IsCaseInsensitive ................................................ Passed 0.01 sec Start 381: ContactSearch.MatchesAnEmailAddress 378/536 Test #377: ContactStore.AnInterruptedMigrationKeepsTheDestinationNotTheSource ............. Passed 0.04 sec Start 382: ContactSearch.AnEmptyQueryReturnsEverythingSortedByName 379/536 Test #378: ContactSearch.MatchesOnPartOfAName ............................................. Passed 0.03 sec Start 383: ContactSearch.HonoursTheLimit 380/536 Test #381: ContactSearch.MatchesAnEmailAddress ............................................ Passed 0.01 sec Start 384: ContactSearch.NoMatchIsEmptyRatherThanEverything 381/536 Test #382: ContactSearch.AnEmptyQueryReturnsEverythingSortedByName ........................ Passed 0.02 sec 382/536 Test #383: ContactSearch.HonoursTheLimit .................................................. Passed 0.01 sec Start 385: ContactSearch.NamespacedAddressesParseBackToTheSameThreadKey Start 386: ContactSearch.EveryEmittedAddressIsUsableAsARecipient 383/536 Test #380: ContactSearch.MatchesANumberTypedWithoutItsFormatting .......................... Passed 0.04 sec Start 387: Journal.RoundTripsAMessage 384/536 Test #384: ContactSearch.NoMatchIsEmptyRatherThanEverything ............................... Passed 0.03 sec Start 388: Journal.SerializesToASingleLine 385/536 Test #385: ContactSearch.NamespacedAddressesParseBackToTheSameThreadKey ................... Passed 0.03 sec Start 389: Journal.RejectsMalformedLines 386/536 Test #386: ContactSearch.EveryEmittedAddressIsUsableAsARecipient .......................... Passed 0.03 sec Start 390: Journal.RetentionDropsMessagesPastTheAgeLimit 387/536 Test #387: Journal.RoundTripsAMessage ..................................................... Passed 0.03 sec Start 391: Journal.RetentionKeepsTheNewestWhenOverCount 388/536 Test #388: Journal.SerializesToASingleLine ................................................ Passed 0.04 sec Start 392: Journal.RetentionKeepsUndatedMessages 389/536 Test #391: Journal.RetentionKeepsTheNewestWhenOverCount ................................... Passed 0.02 sec Start 393: Journal.RetentionIsANoOpUnderBothLimits 390/536 Test #389: Journal.RejectsMalformedLines .................................................. Passed 0.04 sec Start 394: Journal.RetentionCollapsesRepeatedHandles 391/536 Test #392: Journal.RetentionKeepsUndatedMessages .......................................... Passed 0.03 sec Start 395: Journal.ReadStateSurvivesARestart 392/536 Test #393: Journal.RetentionIsANoOpUnderBothLimits ........................................ Passed 0.02 sec Start 396: Journal.EncryptedRetentionLeavesNothingReadable 393/536 Test #394: Journal.RetentionCollapsesRepeatedHandles ...................................... Passed 0.03 sec Start 397: Journal.MigratesAPlaintextStoreOnFirstOpen 394/536 Test #395: Journal.ReadStateSurvivesARestart .............................................. Passed 0.04 sec Start 398: Journal.MigratesBackToPlaintextOnOptOut 395/536 Test #390: Journal.RetentionDropsMessagesPastTheAgeLimit .................................. Passed 0.11 sec Start 399: Journal.FoldsInASourceLeftBehindByAnInterruptedMigration 396/536 Test #397: Journal.MigratesAPlaintextStoreOnFirstOpen ..................................... Passed 0.04 sec Start 400: Journal.ALockedWalletCannotDestroyHistory 397/536 Test #398: Journal.MigratesBackToPlaintextOnOptOut ........................................ Passed 0.05 sec Start 401: Journal.CompactRefusesToEmptyAPopulatedJournal 398/536 Test #400: Journal.ALockedWalletCannotDestroyHistory ...................................... Passed 0.05 sec Start 402: Journal.RetentionNoneWritesNothing 399/536 Test #396: Journal.EncryptedRetentionLeavesNothingReadable ................................ Passed 0.13 sec 400/536 Test #402: Journal.RetentionNoneWritesNothing ............................................. Passed 0.03 sec Start 403: Journal.APartialReadIsNotCompactedAway Start 404: Journal.AMigrationWhileOpenDoesNotStrandLaterAppends 401/536 Test #399: Journal.FoldsInASourceLeftBehindByAnInterruptedMigration ....................... Passed 0.11 sec Start 405: Journal.MigrationRefusesAPartiallyReadableSource 402/536 Test #403: Journal.APartialReadIsNotCompactedAway ......................................... Passed 0.03 sec Start 406: CryptoTest.CompleteCryptographicLifecycle 403/536 Test #401: Journal.CompactRefusesToEmptyAPopulatedJournal ................................. Passed 0.10 sec Start 407: CryptoTest.KnownHostsPersistsAcrossInit 404/536 Test #404: Journal.AMigrationWhileOpenDoesNotStrandLaterAppends ........................... Passed 0.05 sec Start 408: CryptoTest.MultipleKnownHosts 405/536 Test #405: Journal.MigrationRefusesAPartiallyReadableSource ............................... Passed 0.10 sec Start 409: CryptoTest.RemoveKnownHost 406/536 Test #407: CryptoTest.KnownHostsPersistsAcrossInit ........................................ Passed 0.25 sec Start 410: CryptoTest.UnreadableKnownHostsIsNotOverwritten 407/536 Test #406: CryptoTest.CompleteCryptographicLifecycle ...................................... Passed 0.28 sec Start 411: CryptoTest.GetMyFingerprint 408/536 Test #408: CryptoTest.MultipleKnownHosts .................................................. Passed 0.27 sec Start 412: SecretStore.SealUnsealRoundTrip 409/536 Test #412: SecretStore.SealUnsealRoundTrip ................................................ Passed 0.07 sec Start 413: SecretStore.SealIsNonDeterministic 410/536 Test #413: SecretStore.SealIsNonDeterministic ............................................. Passed 0.03 sec Start 414: SecretStore.SealedRecordHasNoNewline 411/536 Test #411: CryptoTest.GetMyFingerprint .................................................... Passed 0.13 sec Start 415: SecretStore.TamperedRecordFailsToUnseal 412/536 Test #415: SecretStore.TamperedRecordFailsToUnseal ........................................ Passed 0.01 sec Start 416: SecretStore.TruncatedRecordFailsToUnseal 413/536 Test #414: SecretStore.SealedRecordHasNoNewline ........................................... Passed 0.03 sec Start 417: SecretStore.ADifferentKeyCannotUnseal 414/536 Test #416: SecretStore.TruncatedRecordFailsToUnseal ....................................... Passed 0.03 sec Start 418: SecretStore.KeySurvivesWithinTheSameHome 415/536 Test #417: SecretStore.ADifferentKeyCannotUnseal .......................................... Passed 0.03 sec Start 419: SecretStore.KeyfileIsOwnerOnly 416/536 Test #418: SecretStore.KeySurvivesWithinTheSameHome ....................................... Passed 0.02 sec Start 420: SecretStore.PlaintextModeIsTheIdentity 417/536 Test #410: CryptoTest.UnreadableKnownHostsIsNotOverwritten ................................ Passed 0.21 sec Start 421: SecretStore.NoneModeSealsNothing 418/536 Test #420: SecretStore.PlaintextModeIsTheIdentity ......................................... Passed 0.02 sec Start 422: SecretStore.RetentionNamesRoundTrip 419/536 Test #419: SecretStore.KeyfileIsOwnerOnly ................................................. Passed 0.03 sec Start 423: DiscoveryTest.GroupDiscoveredHosts_EmptyInput 420/536 Test #421: SecretStore.NoneModeSealsNothing ............................................... Passed 0.02 sec Start 424: DiscoveryTest.GroupDiscoveredHosts_SingleHost 421/536 Test #422: SecretStore.RetentionNamesRoundTrip ............................................ Passed 0.02 sec Start 425: DiscoveryTest.GroupDiscoveredHosts_MultipleAddressesSameFingerprint 422/536 Test #423: DiscoveryTest.GroupDiscoveredHosts_EmptyInput .................................. Passed 0.02 sec Start 426: DiscoveryTest.GroupDiscoveredHosts_MultipleDevices 423/536 Test #426: DiscoveryTest.GroupDiscoveredHosts_MultipleDevices ............................. Passed 0.02 sec Start 427: DiscoveryTest.GroupDiscoveredHosts_EmptyFingerprintGroupsByName 424/536 Test #427: DiscoveryTest.GroupDiscoveredHosts_EmptyFingerprintGroupsByName ................ Passed 0.02 sec Start 428: DiscoveryTest.GroupDiscoveredHosts_IPv4Sorting 425/536 Test #425: DiscoveryTest.GroupDiscoveredHosts_MultipleAddressesSameFingerprint ............ Passed 0.04 sec Start 429: DiscoveryTest.GroupDiscoveredHosts_MixedFingerprintsAndNames 426/536 Test #424: DiscoveryTest.GroupDiscoveredHosts_SingleHost .................................. Passed 0.06 sec Start 430: DiscoveryTest.GroupDiscoveredHosts_ExcludesOwnFingerprint 427/536 Test #428: DiscoveryTest.GroupDiscoveredHosts_IPv4Sorting ................................. Passed 0.02 sec Start 431: DiscoveryTest.StateCallbackReportsOnlyChanges 428/536 Test #429: DiscoveryTest.GroupDiscoveredHosts_MixedFingerprintsAndNames ................... Passed 0.02 sec Start 432: DiscoveryTest.RefreshWithoutBrowseIsNoop 429/536 Test #430: DiscoveryTest.GroupDiscoveredHosts_ExcludesOwnFingerprint ...................... Passed 0.02 sec Start 433: DiscoveryTest.RefreshReinvokesBrowseCallback 430/536 Test #432: DiscoveryTest.RefreshWithoutBrowseIsNoop ....................................... Passed 0.02 sec Start 434: DiscoveryTest.RefreshAfterStopIsNoop 431/536 Test #434: DiscoveryTest.RefreshAfterStopIsNoop ........................................... Passed 0.02 sec Start 435: EventLoopTest.RunsPostedWorkOnTheLoopThread 432/536 Test #435: EventLoopTest.RunsPostedWorkOnTheLoopThread .................................... Passed 0.06 sec Start 436: EventLoopTest.RunsWorkPostedBeforeRun 433/536 Test #409: CryptoTest.RemoveKnownHost ..................................................... Passed 0.61 sec Start 437: DisplayWidth.Ascii 434/536 Test #436: EventLoopTest.RunsWorkPostedBeforeRun .......................................... Passed 0.02 sec Start 438: DisplayWidth.MultibyteLatinCountsOneColumnPerGlyph 435/536 Test #437: DisplayWidth.Ascii ............................................................. Passed 0.03 sec Start 439: DisplayWidth.CjkCountsTwoColumnsPerGlyph 436/536 Test #438: DisplayWidth.MultibyteLatinCountsOneColumnPerGlyph ............................. Passed 0.03 sec Start 440: DisplayWidth.InvalidUtf8FallsBackToByteCount 437/536 Test #439: DisplayWidth.CjkCountsTwoColumnsPerGlyph ....................................... Passed 0.02 sec Start 441: ExtensionHost.WritesManifestsOnlyWhereTheBrowserIs 438/536 Test #440: DisplayWidth.InvalidUtf8FallsBackToByteCount ................................... Passed 0.02 sec Start 442: ExtensionHost.WritesOutsideTheFlatpakPrivateHome 439/536 Test #441: ExtensionHost.WritesManifestsOnlyWhereTheBrowserIs ............................. Passed 0.02 sec Start 443: FileTransferTest.SingleChunkTransfer 440/536 Test #442: ExtensionHost.WritesOutsideTheFlatpakPrivateHome ............................... Passed 0.02 sec Start 444: FileTransferTest.NameDeduplicatorAppendsCounterGracefully 441/536 Test #443: FileTransferTest.SingleChunkTransfer ........................................... Passed 0.01 sec Start 445: FileTransferTest.MultiChunkTransferConcatenates 442/536 Test #444: FileTransferTest.NameDeduplicatorAppendsCounterGracefully ...................... Passed 0.02 sec Start 446: FileTransferTest.RejectsChunkPastDeclaredSize 443/536 Test #445: FileTransferTest.MultiChunkTransferConcatenates ................................ Passed 0.02 sec Start 447: FileTransferTest.TruncatedTransferIsNotReportedAsSuccess 444/536 Test #446: FileTransferTest.RejectsChunkPastDeclaredSize .................................. Passed 0.02 sec Start 448: FileTransferTest.DuplicateTransferIdIsRejected 445/536 Test #447: FileTransferTest.TruncatedTransferIsNotReportedAsSuccess ....................... Passed 0.02 sec Start 449: FileTransferTest.UnknownTransferIdIsRejected 446/536 Test #448: FileTransferTest.DuplicateTransferIdIsRejected ................................. Passed 0.02 sec Start 450: FileTransferTest.PathTraversalInFilenameStaysInDownloads 447/536 Test #449: FileTransferTest.UnknownTransferIdIsRejected ................................... Passed 0.02 sec Start 451: LogTest.ConcurrentLinesAreNotInterleaved 448/536 Test #450: FileTransferTest.PathTraversalInFilenameStaysInDownloads ....................... Passed 0.02 sec Start 452: RuntimeDirTest.FallsBackToRunUserWhenXdgRuntimeDirIsUnset 449/536 Test #452: RuntimeDirTest.FallsBackToRunUserWhenXdgRuntimeDirIsUnset ...................... Passed 0.03 sec Start 453: SingleInstanceLockTest.ExecedHelpersDoNotKeepTheLockAliveAfterTheDaemonExits 450/536 Test #451: LogTest.ConcurrentLinesAreNotInterleaved ....................................... Passed 0.04 sec Start 454: TcpServerTest.ReportsWhyATlsHandshakeFailed 451/536 Test #453: SingleInstanceLockTest.ExecedHelpersDoNotKeepTheLockAliveAfterTheDaemonExits ... Passed 0.03 sec Start 455: TcpServerTest.AcceptsIpv6Clients 452/536 Test #454: TcpServerTest.ReportsWhyATlsHandshakeFailed .................................... Passed 0.11 sec Start 456: TcpServerTest.DialToAClosedPortLeaksNothing 453/536 Test #431: DiscoveryTest.StateCallbackReportsOnlyChanges .................................. Passed 0.52 sec Start 457: TcpServerTest.DialFailureReportsAReason 454/536 Test #455: TcpServerTest.AcceptsIpv6Clients ............................................... Passed 0.18 sec Start 458: TcpServerTest.DialToABlackHoleGivesUpQuickly 455/536 Test #433: DiscoveryTest.RefreshReinvokesBrowseCallback ...................................***Skipped 0.51 sec Start 459: TcpServerTest.DiallingPeerSendsPairRequest 456/536 Test #456: TcpServerTest.DialToAClosedPortLeaksNothing .................................... Passed 0.11 sec Start 460: ClientTest.ConnectsToAnIpv6Literal 457/536 Test #458: TcpServerTest.DialToABlackHoleGivesUpQuickly ................................... Passed 0.08 sec Start 461: FirewallTest.UfwEnabledReadsTheEnabledKey 458/536 Test #461: FirewallTest.UfwEnabledReadsTheEnabledKey ...................................... Passed 0.02 sec Start 462: FirewallTest.UfwEnabledIgnoresCommentsAndWhitespace 459/536 Test #457: TcpServerTest.DialFailureReportsAReason ........................................ Passed 0.12 sec 460/536 Test #462: FirewallTest.UfwEnabledIgnoresCommentsAndWhitespace ............................ Passed 0.02 sec Start 463: FirewallTest.UfwEnabledIgnoresOtherKeysAndTakesTheFirstMatch Start 464: FirewallTest.UfwEnabledIsFalseWhenTheKeyIsAbsent 461/536 Test #460: ClientTest.ConnectsToAnIpv6Literal ............................................. Passed 0.11 sec Start 465: ShouldDialPeer.OnlyTheLowerFingerprintDials 462/536 Test #464: FirewallTest.UfwEnabledIsFalseWhenTheKeyIsAbsent ............................... Passed 0.02 sec Start 466: ShouldDialPeer.IsReciprocal 463/536 Test #463: FirewallTest.UfwEnabledIgnoresOtherKeysAndTakesTheFirstMatch ................... Passed 0.02 sec Start 467: ShouldDialPeer.SkipsUnknownIncompleteAndSelf 464/536 Test #465: ShouldDialPeer.OnlyTheLowerFingerprintDials .................................... Passed 0.02 sec Start 468: OtpTest.EmptyVaultServesNothing 465/536 Test #467: ShouldDialPeer.SkipsUnknownIncompleteAndSelf ................................... Passed 0.01 sec Start 469: OtpTest.StoreAndPeek 466/536 Test #466: ShouldDialPeer.IsReciprocal .................................................... Passed 0.02 sec Start 470: OtpTest.IdsAreUniqueAndIncreasing 467/536 Test #468: OtpTest.EmptyVaultServesNothing ................................................ Passed 0.02 sec Start 471: OtpTest.StoringEmptyCodeClearsVault 468/536 Test #469: OtpTest.StoreAndPeek ........................................................... Passed 0.02 sec 469/536 Test #470: OtpTest.IdsAreUniqueAndIncreasing .............................................. Passed 0.01 sec Start 472: OtpTest.ExpiresAfterTtl Start 473: OtpTest.CodeIsClaimedByTheFirstHostThatTakesIt 470/536 Test #471: OtpTest.StoringEmptyCodeClearsVault ............................................ Passed 0.02 sec Start 474: OtpTest.ClaimingHostKeepsPollingSuccessfully 471/536 Test #459: TcpServerTest.DiallingPeerSendsPairRequest ..................................... Passed 0.19 sec Start 475: OtpTest.NewCodeResetsTheClaim 472/536 Test #472: OtpTest.ExpiresAfterTtl ........................................................ Passed 0.02 sec Start 476: OtpTest.UnknownHostTakesButDoesNotClaim 473/536 Test #473: OtpTest.CodeIsClaimedByTheFirstHostThatTakesIt ................................. Passed 0.02 sec Start 477: OtpTest.UnknownHostDoesNotStealAClaimedCode 474/536 Test #474: OtpTest.ClaimingHostKeepsPollingSuccessfully ................................... Passed 0.02 sec Start 478: OtpTest.PinnedCodeServesOnlyMatchingDomain 475/536 Test #476: OtpTest.UnknownHostTakesButDoesNotClaim ........................................ Passed 0.02 sec Start 479: OtpTest.PinnedCodeServesSubdomains 476/536 Test #475: OtpTest.NewCodeResetsTheClaim .................................................. Passed 0.03 sec Start 480: OtpTest.PinnedCodeRejectsSuffixSpoofs 477/536 Test #477: OtpTest.UnknownHostDoesNotStealAClaimedCode .................................... Passed 0.02 sec Start 481: OtpTest.PinnedCodeRejectsUnknownHost 478/536 Test #478: OtpTest.PinnedCodeServesOnlyMatchingDomain ..................................... Passed 0.02 sec Start 482: OtpTest.UnpinnedCodeKeepsLegacyBehaviour 479/536 Test #479: OtpTest.PinnedCodeServesSubdomains ............................................. Passed 0.02 sec Start 483: OtpTest.PinnedCodeClaimIsScopedToHostWithinDomain 480/536 Test #482: OtpTest.UnpinnedCodeKeepsLegacyBehaviour ....................................... Passed 0.01 sec Start 484: OtpTest.SenderDomainIsNormalized 481/536 Test #480: OtpTest.PinnedCodeRejectsSuffixSpoofs .......................................... Passed 0.03 sec Start 485: OtpTest.PinnedCodeMatchesApexWhenSenderIsSubdomain 482/536 Test #483: OtpTest.PinnedCodeClaimIsScopedToHostWithinDomain .............................. Passed 0.01 sec Start 486: OtpTest.PinnedCodeMatchesRegistrableCctld 483/536 Test #481: OtpTest.PinnedCodeRejectsUnknownHost ........................................... Passed 0.03 sec Start 487: OtpTest.PinnedCodeRejectsCctldSpoof 484/536 Test #484: OtpTest.SenderDomainIsNormalized ............................................... Passed 0.02 sec Start 488: OtpTest.PinnedCodeDoesNotMatchDifferentCctldRegistrant 485/536 Test #485: OtpTest.PinnedCodeMatchesApexWhenSenderIsSubdomain ............................. Passed 0.02 sec Start 489: OtpTest.PinnedCodeDoesNotMatchDifferentPrivateSuffixSite 486/536 Test #487: OtpTest.PinnedCodeRejectsCctldSpoof ............................................ Passed 0.02 sec Start 490: OtpTest.PinnedCodeHandlesWildcardSuffix 487/536 Test #486: OtpTest.PinnedCodeMatchesRegistrableCctld ...................................... Passed 0.03 sec Start 491: OtpTest.PinnedCodeHandlesExceptionSuffix 488/536 Test #489: OtpTest.PinnedCodeDoesNotMatchDifferentPrivateSuffixSite ....................... Passed 0.02 sec Start 492: OtpTest.ConsumeClearsMatchingId 489/536 Test #488: OtpTest.PinnedCodeDoesNotMatchDifferentCctldRegistrant ......................... Passed 0.03 sec Start 493: OtpTest.StaleConsumeDoesNotClearNewerCode 490/536 Test #490: OtpTest.PinnedCodeHandlesWildcardSuffix ........................................ Passed 0.03 sec Start 494: OtpTest.ConsumeWithoutIdClearsUnconditionally 491/536 Test #491: OtpTest.PinnedCodeHandlesExceptionSuffix ....................................... Passed 0.03 sec Start 495: OtpTest.ConsumeIsIdempotent 492/536 Test #493: OtpTest.StaleConsumeDoesNotClearNewerCode ...................................... Passed 0.02 sec Start 496: OtpTest.ConsumingClearsTheClaim 493/536 Test #492: OtpTest.ConsumeClearsMatchingId ................................................ Passed 0.03 sec Start 497: OtpExtractTest.TypicalSmsCodes 494/536 Test #494: OtpTest.ConsumeWithoutIdClearsUnconditionally .................................. Passed 0.02 sec Start 498: OtpExtractTest.IgnoresTextWithoutAnOtpCue 495/536 Test #495: OtpTest.ConsumeIsIdempotent .................................................... Passed 0.02 sec Start 499: OtpExtractTest.RejectsLookalikes 496/536 Test #496: OtpTest.ConsumingClearsTheClaim ................................................ Passed 0.02 sec Start 500: OtpExtractTest.PrefersTheNumberNearestTheCue 497/536 Test #497: OtpExtractTest.TypicalSmsCodes ................................................. Passed 0.02 sec 498/536 Test #498: OtpExtractTest.IgnoresTextWithoutAnOtpCue ...................................... Passed 0.02 sec Start 501: PathsTest.FallsBackToTheDefaultsWhenNoXdgVariableIsSet Start 502: PathsTest.HonorsTheXdgVariables 499/536 Test #499: OtpExtractTest.RejectsLookalikes ............................................... Passed 0.03 sec Start 503: PathsTest.IgnoresAnEmptyOrRelativeXdgValue 500/536 Test #500: OtpExtractTest.PrefersTheNumberNearestTheCue ................................... Passed 0.02 sec Start 504: PathsTest.PrefersAnExistingLegacyDirectoryOverAnAbsentXdgOne 501/536 Test #501: PathsTest.FallsBackToTheDefaultsWhenNoXdgVariableIsSet ......................... Passed 0.02 sec Start 505: PathsTest.UsesTheXdgDirectoryOnceItExists 502/536 Test #502: PathsTest.HonorsTheXdgVariables ................................................ Passed 0.03 sec Start 506: LinkifyMarkup.PlainTextIsEscapedAndUnlinked 503/536 Test #503: PathsTest.IgnoresAnEmptyOrRelativeXdgValue ..................................... Passed 0.03 sec Start 507: LinkifyMarkup.BareUrlBecomesALink 504/536 Test #504: PathsTest.PrefersAnExistingLegacyDirectoryOverAnAbsentXdgOne ................... Passed 0.03 sec Start 508: LinkifyMarkup.TrailingSentencePunctuationStaysOutsideTheLink 505/536 Test #505: PathsTest.UsesTheXdgDirectoryOnceItExists ...................................... Passed 0.02 sec Start 509: LinkifyMarkup.ClosingParenBelongingToTheUrlIsKept 506/536 Test #508: LinkifyMarkup.TrailingSentencePunctuationStaysOutsideTheLink ................... Passed 0.02 sec Start 510: LinkifyMarkup.WwwHostGetsAScheme 507/536 Test #507: LinkifyMarkup.BareUrlBecomesALink .............................................. Passed 0.03 sec Start 511: LinkifyMarkup.QueryStringIsEscapedInBothHrefAndText 508/536 Test #509: LinkifyMarkup.ClosingParenBelongingToTheUrlIsKept .............................. Passed 0.02 sec Start 512: LinkifyMarkup.MultipleUrlsInOneBody 509/536 Test #511: LinkifyMarkup.QueryStringIsEscapedInBothHrefAndText ............................ Passed 0.02 sec Start 513: LinkifyMarkup.AlwaysProducesParseableMarkup 510/536 Test #510: LinkifyMarkup.WwwHostGetsAScheme ............................................... Passed 0.02 sec Start 514: FixedZone.TodayIsAClockTime 511/536 Test #512: LinkifyMarkup.MultipleUrlsInOneBody ............................................ Passed 0.03 sec Start 515: FixedZone.EarlierTodayStaysAClockTime 512/536 Test #513: LinkifyMarkup.AlwaysProducesParseableMarkup .................................... Passed 0.02 sec Start 516: FixedZone.PreviousCalendarDayIsYesterday 513/536 Test #514: FixedZone.TodayIsAClockTime .................................................... Passed 0.02 sec Start 517: FixedZone.WithinTheWeekIsAWeekday 514/536 Test #506: LinkifyMarkup.PlainTextIsEscapedAndUnlinked .................................... Passed 0.09 sec Start 518: FixedZone.BeyondAWeekIsADate 515/536 Test #515: FixedZone.EarlierTodayStaysAClockTime .......................................... Passed 0.02 sec Start 519: FixedZone.MissingTimestampIsEmpty 516/536 Test #516: FixedZone.PreviousCalendarDayIsYesterday ....................................... Passed 0.02 sec 517/536 Test #517: FixedZone.WithinTheWeekIsAWeekday .............................................. Passed 0.02 sec Start 520: FixedZone.DayHeadingNamesTodayAndYesterday Start 521: FixedZone.DayHeadingWithinTheWeekIsTheWeekdayName 518/536 Test #519: FixedZone.MissingTimestampIsEmpty .............................................. Passed 0.02 sec Start 522: FixedZone.DayHeadingBeyondAWeekCarriesTheDate 519/536 Test #520: FixedZone.DayHeadingNamesTodayAndYesterday ..................................... Passed 0.02 sec Start 523: FixedZone.SameLocalDayIgnoresTimeOfDayButNotTheDateBoundary 520/536 Test #518: FixedZone.BeyondAWeekIsADate ................................................... Passed 0.03 sec Start 524: ServiceTest.RenderTetherdUnitFillsInExecStart 521/536 Test #521: FixedZone.DayHeadingWithinTheWeekIsTheWeekdayName .............................. Passed 0.03 sec Start 525: ServiceTest.InstallWritesTheUnitAndUninstallTakesItBack 522/536 Test #522: FixedZone.DayHeadingBeyondAWeekCarriesTheDate .................................. Passed 0.03 sec Start 526: ServiceTest.UninstallingWhatWasNeverInstalledIsNotAnError 523/536 Test #523: FixedZone.SameLocalDayIgnoresTimeOfDayButNotTheDateBoundary .................... Passed 0.03 sec Start 527: ServiceTest.ExecStartPointsAtTheAppImageWhenRunningFromOne 524/536 Test #524: ServiceTest.RenderTetherdUnitFillsInExecStart .................................. Passed 0.03 sec 525/536 Test #525: ServiceTest.InstallWritesTheUnitAndUninstallTakesItBack ........................ Passed 0.03 sec Start 528: ServiceTest.WhichProgramFindsOnlyWhatIsExecutable Start 529: Verbs.RewritesASubcommandIntoItsFlag 526/536 Test #526: ServiceTest.UninstallingWhatWasNeverInstalledIsNotAnError ...................... Passed 0.03 sec Start 530: Verbs.KeepsTheArgumentsThatFollow 527/536 Test #528: ServiceTest.WhichProgramFindsOnlyWhatIsExecutable .............................. Passed 0.02 sec Start 531: Verbs.MapsBtToTheMatchingBluetoothFlag 528/536 Test #529: Verbs.RewritesASubcommandIntoItsFlag ........................................... Passed 0.02 sec Start 532: Verbs.LeavesFlagsAlone 529/536 Test #530: Verbs.KeepsTheArgumentsThatFollow .............................................. Passed 0.02 sec Start 533: Verbs.LeavesSomethingItDoesNotKnowForTheParserToReject 530/536 Test #527: ServiceTest.ExecStartPointsAtTheAppImageWhenRunningFromOne ..................... Passed 0.04 sec Start 534: Verbs.EveryVerbHasAFlagAndHelp 531/536 Test #532: Verbs.LeavesFlagsAlone ......................................................... Passed 0.02 sec 532/536 Test #531: Verbs.MapsBtToTheMatchingBluetoothFlag ......................................... Passed 0.02 sec Start 535: po_catalogs Start 536: po_template 533/536 Test #533: Verbs.LeavesSomethingItDoesNotKnowForTheParserToReject ......................... Passed 0.02 sec 534/536 Test #534: Verbs.EveryVerbHasAFlagAndHelp ................................................. Passed 0.06 sec 535/536 Test #536: po_template .................................................................... Passed 0.24 sec 536/536 Test #535: po_catalogs .................................................................... Passed 0.36 sec 100% tests passed out of 536 Total Test time (real) = 5.24 sec The following tests did not run: 433 - DiscoveryTest.RefreshReinvokesBrowseCallback (Skipped) npm warn Unknown env config "nodedir". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn Unknown env config "platform". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. npm warn Unknown env config "arch". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options. > tether-extension@1.0.0 test > vitest run RUN v4.1.10 /build/source/extension ❯ test/integration.test.js [queued] Test Files 0 passed (5) Tests 0 passed (0) Start at 11:02:19 Duration 505ms ❯ test/autofill.test.js [queued] ❯ test/extractor.test.js [queued] ❯ test/integration.test.js [queued] ❯ test/native.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 0 passed (5) Tests 0 passed (0) Start at 11:02:19 Duration 924ms ❯ test/autofill.test.js [queued] ❯ test/extractor.test.js [queued] ❯ test/integration.test.js [queued] ❯ test/native.test.js 0/24 ❯ test/otp-consume.test.js [queued] Test Files 0 passed (5) Tests 0 passed (24) Start at 11:02:19 Duration 1.48s ✓ test/native.test.js (24 tests) 60ms ❯ test/autofill.test.js [queued] ❯ test/extractor.test.js 0/35 ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 1 passed (5) Tests 24 passed (59) Start at 11:02:19 Duration 1.79s stderr | test/extractor.test.js Native messaging not supported in this environment ❯ test/autofill.test.js [queued] ❯ test/extractor.test.js 0/35 ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 1 passed (5) Tests 24 passed (59) Start at 11:02:19 Duration 1.79s stdout | test/extractor.test.js > processMessage sends the sender domain > leaves sender_domain empty when the server did not validate DKIM Processing message stdout | test/extractor.test.js > processMessage sends the sender domain > leaves sender_domain empty when the server did not validate DKIM Found OTP candidate in email with score: 90 stdout | test/extractor.test.js > processMessage sends the sender domain > uses the validated DKIM domain when available Processing message stdout | test/extractor.test.js > processMessage sends the sender domain > uses the validated DKIM domain when available Found OTP candidate in email with score: 90 ✓ test/extractor.test.js (35 tests) 42ms ❯ test/autofill.test.js [queued] ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 59 passed (59) Start at 11:02:19 Duration 1.99s ❯ test/autofill.test.js [queued] ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 59 passed (59) Start at 11:02:19 Duration 3.00s ❯ test/autofill.test.js 0/11 ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 59 passed (70) Start at 11:02:19 Duration 3.80s ❯ test/autofill.test.js 0/11 ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 59 passed (70) Start at 11:02:19 Duration 4.00s ❯ test/autofill.test.js 1/11 ❯ test/integration.test.js [queued] ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 60 passed (70) Start at 11:02:19 Duration 4.10s ❯ test/autofill.test.js 2/11 ❯ test/integration.test.js 0/6 ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 61 passed (76) Start at 11:02:19 Duration 4.31s stdout | test/integration.test.js > Integration tests with real .eml files > processes MyBank OTP email and extracts 171792 Processing message stdout | test/integration.test.js > Integration tests with real .eml files > processes MyBank OTP email and extracts 171792 Found OTP candidate in email with score: 90 ❯ test/autofill.test.js 3/11 ❯ test/integration.test.js 1/6 ❯ test/otp-consume.test.js [queued] Test Files 2 passed (5) Tests 63 passed (76) Start at 11:02:19 Duration 4.41s ❯ test/autofill.test.js 5/11 ❯ test/integration.test.js 1/6 ❯ test/otp-consume.test.js 0/18 Test Files 2 passed (5) Tests 65 passed (94) Start at 11:02:19 Duration 4.51s stdout | test/integration.test.js > Integration tests with real .eml files > processes MyBank OTP email with HTML and extracts 171793 Processing message stdout | test/integration.test.js > Integration tests with real .eml files > processes MyBank OTP email with HTML and extracts 171793 Found OTP candidate in email with score: 90 ❯ test/autofill.test.js 5/11 ❯ test/integration.test.js 2/6 ❯ test/otp-consume.test.js 0/18 Test Files 2 passed (5) Tests 66 passed (94) Start at 11:02:19 Duration 4.71s stdout | test/integration.test.js > Integration tests with real .eml files > processes Google auth email and extracts 123456 Processing message stdout | test/integration.test.js > Integration tests with real .eml files > processes Google auth email and extracts 123456 Found OTP candidate in email with score: 120 stdout | test/integration.test.js > Integration tests with real .eml files > processes Amazon formatted code and extracts 123456 Processing message stdout | test/integration.test.js > Integration tests with real .eml files > processes Amazon formatted code and extracts 123456 Found OTP candidate in email with score: 100 stdout | test/integration.test.js > Integration tests with real .eml files > processes bank verification email and extracts 987654 Processing message stdout | test/integration.test.js > Integration tests with real .eml files > processes bank verification email and extracts 987654 Found OTP candidate in email with score: 60 stdout | test/integration.test.js > Integration tests with real .eml files > rejects order confirmation (no OTP extraction) Processing message ✓ test/integration.test.js (6 tests) 514ms ✓ processes MyBank OTP email with HTML and extracts 171793 317ms ❯ test/autofill.test.js 5/11 ❯ test/otp-consume.test.js 1/18 Test Files 3 passed (5) Tests 71 passed (94) Start at 11:02:19 Duration 4.91s ❯ test/autofill.test.js 5/11 ❯ test/otp-consume.test.js 7/18 Test Files 3 passed (5) Tests 77 passed (94) Start at 11:02:19 Duration 5.02s ❯ test/autofill.test.js 5/11 ❯ test/otp-consume.test.js 10/18 Test Files 3 passed (5) Tests 80 passed (94) Start at 11:02:19 Duration 5.12s ❯ test/autofill.test.js 5/11 ❯ test/otp-consume.test.js 12/18 Test Files 3 passed (5) Tests 82 passed (94) Start at 11:02:19 Duration 5.22s ✓ test/otp-consume.test.js (18 tests) 691ms ✓ fills a single field and reports filled 310ms ❯ test/autofill.test.js 6/11 Test Files 4 passed (5) Tests 89 passed (94) Start at 11:02:19 Duration 5.62s ❯ test/autofill.test.js 7/11 Test Files 4 passed (5) Tests 90 passed (94) Start at 11:02:19 Duration 5.72s ✓ test/autofill.test.js (11 tests) 1938ms ✓ detects standard autocomplete attribute 303ms ✓ detects roku generic input based on nearby label score 1130ms Test Files 5 passed (5) Tests 94 passed (94) Start at 11:02:19 Duration 5.84s (transform 2.67s, setup 0ms, import 13.17s, tests 3.24s, environment 0ms) Running phase: glibPreInstallPhase Running phase: installPhase install flags: -j4 install [1/2] Building browser and mail extensions Building Tether Extensions... Bundling Firefox browser extension... build/extension_bundles/browser/src/background/background.js 147.4kb ⚡ Done in 9ms build/extension_bundles/browser/src/content/autofill.js 7.1kb ⚡ Done in 11ms Bundling mail extension... build/extension_bundles/mail/src/mail/extractor.js 158.7kb ⚡ Done in 11ms Bundling Chromium extension... build/extension_bundles/chromium/src/background/background.js 147.4kb ⚡ Done in 12ms build/extension_bundles/chromium/src/content/autofill.js 7.1kb ⚡ Done in 11ms Extensions successfully built and packaged in /build/source/build/extension_bundles Firefox browser: /build/source/build/extension_bundles/tether-browser-extension.zip Thunderbird: /build/source/build/extension_bundles/tether-mail-extension.xpi Chromium (Store): /build/source/build/extension_bundles/tether-chromium-extension.zip [1/2] Install the project... -- Install configuration: "Release" -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tetherd -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-gtk -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/applications/tether-gtk.desktop -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/16x16/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/16x16/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/16x16/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/32x32/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/32x32/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/32x32/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/48x48/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/48x48/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/48x48/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/64x64/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/64x64/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/64x64/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/128x128/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/128x128/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/128x128/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/256x256/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/256x256/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/256x256/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/512x512/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/512x512/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/512x512/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/1024x1024/apps/tether.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/1024x1024/apps/tether-offline.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/1024x1024/apps/tether-unread.png -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/symbolic/apps/tether-symbolic.svg -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/symbolic/apps/tether-offline-symbolic.svg -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/icons/hicolor/symbolic/apps/tether-unread-symbolic.svg -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-dialog -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/cs/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/de/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/es/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/fr/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/it/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/ja/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/ko/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/nl/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/pl/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/pt_BR/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/ru/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/sv/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/tr/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/uk/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/locale/zh_CN/LC_MESSAGES/tether.mo -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-native-host -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/etc/chromium/native-messaging-hosts/com.tether.extension.json -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/etc/opt/chrome/native-messaging-hosts/com.tether.extension.json -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/mozilla/native-messaging-hosts/com.tether.extension.json -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/thunderbird/native-messaging-hosts/com.tether.extension.json -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/man/man1/tether.1 -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/man/man1/tether-gtk.1 -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/man/man8/tetherd.8 -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/systemd/system/tether-btclass@.service -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/systemd/user/tetherd.service -- Skipping /etc/ufw/applications.d/tether: directory not present -- Skipping /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/firewalld/services/tether.xml: directory not present -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/tether/extensions/tether-browser-extension.zip -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/tether/extensions/tether-mail-extension.xpi -- Installing: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/tether/extensions/tether-chromium-extension.zip patching script interpreter paths in /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-native-host /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-native-host: interpreter directive changed from "#!/bin/bash" to "/nix/store/svx59425zxp552p2b8gm11qj5r09b56i-bash-5.3p15/bin/bash" Running phase: gappsWrapperArgsHook Running phase: dropIconThemeCache Running phase: fixupPhase Wrapping program '/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tetherd' Wrapping program '/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-native-host' Wrapping program '/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-gtk' Wrapping program '/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-dialog' Wrapping program '/nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether' shrinking RPATHs of ELF executables and libraries in /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18 shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/.tether-wrapped shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tetherd shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/.tether-gtk-wrapped shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-native-host shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-gtk shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether-dialog shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/.tetherd-wrapped shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/tether shrinking /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin/.tether-dialog-wrapped checking for references to /build/ in /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18... gzipping man pages under /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/man/ moving /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/systemd/user/* to /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/share/systemd/user patching script interpreter paths in /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18 stripping (with command strip and flags -S -p) in /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/bin making symlink relative: /nix/store/ngysr1990jkq5ljf6niay2pfl66q8365-tether-0.2.18/lib/systemd/user