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