Source formatting --check completed for 12 Swift files. Swift layout regression cases passed. Linting Swift files at paths ~/Developer/Projects/NeXTsound/Scripts/swift-layout.swift, ~/Developer/Projects/NeXTsound/Shared/Package.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/DSPSettings.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/EQResponse.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/FactoryPreset.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/SoundProfile.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/SpeakerEnclosure.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/WireCodec.swift, ~/Developer/Projects/NeXTsound/Shared/Sources/NeXTsoundCore/WireModels.swift, ~/Developer/Projects/NeXTsound/Shared/Tests/NeXTsoundCoreTests/EQResponseTests.swift, ~/Developer/Projects/NeXTsound/Shared/Tests/NeXTsoundCoreTests/ProfileTests.swift, ~/Developer/Projects/NeXTsound/Shared/Tests/NeXTsoundCoreTests/WireCodecTests.swift Linting 'swift-layout.swift' (1/12) Linting 'Package.swift' (2/12) Linting 'DSPSettings.swift' (3/12) Linting 'EQResponse.swift' (4/12) Linting 'SoundProfile.swift' (5/12) Linting 'SpeakerEnclosure.swift' (6/12) Linting 'FactoryPreset.swift' (7/12) Linting 'WireCodec.swift' (8/12) Linting 'WireModels.swift' (9/12) Linting 'EQResponseTests.swift' (10/12) Linting 'ProfileTests.swift' (11/12) Linting 'WireCodecTests.swift' (12/12) Done linting! Found 0 violations, 0 serious in 12 files. Arm 15.3.1 and Pico SDK a1438dff1d38bd9c65dbd693f0e5db4b9ae91779 ready. PICO_SDK_PATH is ~/Developer/Projects/NeXTsound/.tools/pico-sdk Target board (PICO_BOARD) is 'waveshare_rp2350_zero'. Using board configuration from ~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/boards/include/boards/waveshare_rp2350_zero.h Pico Platform (PICO_PLATFORM) is 'rp2350-arm-s'. Build type is Release Forcing fetch of picotool from git Downloading Picotool Using picotool from ~/Developer/Projects/NeXTsound/.tools/picotool/picotool/picotool TinyUSB available at ~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/hw/bsp/rp2040; enabling build support for USB. -- Configuring done (0.3s) -- Generating done (0.1s) -- Build files have been written to: ~/Developer/Projects/NeXTsound/.build/firmware [1/87] cd ~/Developer/Projects/NeXTsound/.build/firmware/pico-sdk/src/rp2350/boot_stage2 && /opt/homebrew/bin/cmake -E touch_nocreate ~/Developer/Projects/NeXTsound/Firmware/CMakeLists.txt [2/87] Performing build step for 'picotoolBuild' [1/3] Performing build step for 'enc_bootloader' ninja: no work to do. [2/3] No install step for 'enc_bootloader' [3/3] Completed 'enc_bootloader' [3/87] Performing install step for 'picotoolBuild' [1/4] Performing build step for 'enc_bootloader' ninja: no work to do. [2/4] No install step for 'enc_bootloader' [3/4] Completed 'enc_bootloader' [3/4] Install the project... -- Install configuration: "Release" [4/87] Performing test step for 'picotoolBuild' picotool v2.3.1 (Darwin, AppleClang-21.0.0.21000334, Release) This version of picotool was compiled without USB support. Some commands are not available. [5/87] Completed 'picotoolBuild' [6/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S.o [7/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_platform_common/common.c.o [8/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2350/pico_platform/platform.c.o [9/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_sync/sync.c.o [10/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/hardware_claim/claim.c.o [11/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_sync_spin_lock/sync_spin_lock.c.o [12/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_sync/lock_core.c.o [13/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_sync/sem.c.o [14/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_sync/mutex.c.o [15/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_sync/critical_section.c.o [16/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_gpio/gpio.c.o [17/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_irq/irq.c.o [18/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_stdlib/stdlib.c.o [19/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_time/timeout_helper.c.o [20/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_platform_panic/panic.c.o [21/87] Building C object CMakeFiles/nxs_flash_probe.dir/Probes/flash_probe.c.o [22/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_timer/timer.c.o [23/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_vreg/vreg.c.o [24/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_pll/pll.c.o [25/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_uart/uart.c.o [26/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_ticks/ticks.c.o [27/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_util/pheap.c.o [28/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_clocks/clocks.c.o [29/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_util/queue.c.o [30/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_util/datetime.c.o [31/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.o [32/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_boot_lock/boot_lock.c.o [33/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/common/pico_time/time.c.o [34/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_bootrom/bootrom_lock.c.o [35/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_divider/divider.c.o [36/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_flash/flash.c.o [37/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_runtime/runtime.c.o [38/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_xosc/xosc.c.o [39/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_double/double_aeabi_dcp.S.o [40/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_double/double_fma_dcp.S.o [41/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_double/double_sci_m33.S.o [42/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_double/double_conv_m33.S.o [43/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c.o [44/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_float/float_conv32_vfp.S.o [45/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_float/float_common_m33.S.o [46/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_float/float_sci_m33_vfp.S.o [47/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init_stack_guard.c.o [48/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_bootrom/bootrom.c.o [49/87] Building ASM object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_crt0/crt0.S.o [50/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init_clocks.c.o [51/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_divider/divider_compiler.c.o [52/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_standard_binary_info/standard_binary_info.c.o [53/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_runtime_init/runtime_init.c.o [54/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_malloc/malloc.c.o [55/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_atomic/atomic.c.o [56/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_double/double_math.c.o [57/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_float/float_math.c.o [58/87] Building CXX object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_cxx_options/new_delete.cpp.o [59/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_printf/printf.c.o [60/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_xip_cache/xip_cache.c.o [61/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_unique_id/unique_id.c.o [62/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_stdio/stdio.c.o [63/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_stdio_usb/reset_interface.c.o [64/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_stdio_usb/stdio_usb_descriptors.c.o [65/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_stdio_usb/stdio_usb.c.o [66/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/audio/audio_device.c.o [67/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/hardware_flash/flash.c.o [68/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_clib_interface/newlib_interface.c.o [69/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/dfu/dfu_device.c.o [70/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/dfu/dfu_rt_device.c.o [71/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/hid/hid_device.c.o [72/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040/rp2040_usb.c.o [73/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040/dcd_rp2040.c.o [74/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/device/usbd_control.c.o [75/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/msc/msc_device.c.o [76/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/midi/midi_device.c.o [77/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/net/ecm_rndis_device.c.o [78/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/net/ncm_device.c.o [79/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/usbtmc/usbtmc_device.c.o [80/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/video/video_device.c.o [81/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/rp2040_usb_device_enumeration.c.o [82/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/device/usbd.c.o [83/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/cdc/cdc_device.c.o [84/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/class/vendor/vendor_device.c.o [85/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/tusb.c.o [86/87] Building C object CMakeFiles/nxs_flash_probe.dir~/Developer/Projects/NeXTsound/.tools/pico-sdk/lib/tinyusb/src/common/tusb_fifo.c.o [87/87] Linking CXX executable nxs_flash_probe.elf SRAM-only ELF: 2 load segments; entry 0x20000178 text data bss dec hex filename 60856 0 18316 79172 13544 ~/Developer/Projects/NeXTsound/.build/firmware/nxs_firmware.elf File ~/Developer/Projects/NeXTsound/.build/firmware/nxs_firmware.uf2 family ID 'rp2350-arm-s': Program Information name: NeXTsound development firmware version: 1ddf2de9-dirty description: USB audio and HID control mono I2S muted start binary start: 0x10000000 binary end: 0x1000d5b8 target chip: RP2350 image type: ARM Secure Fixed Pin Information none Build Information sdk version: 2.2.0 pico_board: waveshare_rp2350_zero boot2_name: boot2_w25q080 build date: Oct 18 2026 build attributes: Release Metadata Block 1 address: 0x10000138 next block address: 0x1000d5a4 block type: image def target chip: RP2350 image type: ARM Secure extra security: not enabled Metadata Block 2 address: 0x1000d5a4 next block address: 0x10000138 block type: ignored -- Configuring done (0.1s) -- Generating done (0.0s) -- Build files have been written to: ~/Developer/Projects/NeXTsound/.build/c-protocol [1/27] Building C object firmware-core/CMakeFiles/nxs_device.dir/audio.c.o [2/27] Building C object firmware-tests/CMakeFiles/nxs_pio_tests.dir/pio_tests.c.o [3/27] Building C object firmware-core/CMakeFiles/nxs_device.dir/render.c.o [4/27] Building C object CMakeFiles/nxs_audio_tests.dir~/Developer/Projects/NeXTsound/Firmware/Tests/audio_tests.c.o [5/27] Building C object CMakeFiles/nxs_render_tests.dir~/Developer/Projects/NeXTsound/Firmware/Tests/render_tests.c.o [6/27] Building C object firmware-tests/CMakeFiles/nxs_descriptor_tests.dir~/Developer/Projects/NeXTsound/Firmware/USB/descriptors.c.o [7/27] Building C object CMakeFiles/nxs_protocol_tests.dir/Tests/CProtocolTests/protocol_tests.c.o [8/27] Building C object firmware-tests/CMakeFiles/nxs_descriptor_tests.dir/descriptor_tests.c.o [9/27] Building C object firmware-core/CMakeFiles/nxs_device.dir/device.c.o [10/27] Building C object CMakeFiles/nxs_dsp.dir/Sources/NeXTsoundDSP/dsp.c.o [11/27] Building C object CMakeFiles/nxs_device_tests.dir~/Developer/Projects/NeXTsound/Firmware/Tests/device_tests.c.o [12/27] Building C object firmware-tests/CMakeFiles/nxs_control_tests.dir/control_tests.c.o [13/27] Building C object firmware-tests/CMakeFiles/nxs_control_tests.dir~/Developer/Projects/NeXTsound/Firmware/USB/descriptors.c.o [14/27] Building C object CMakeFiles/nxs_dsp_tests.dir/Tests/CDSPTests/dsp_tests.c.o [15/27] Building C object CMakeFiles/nxs_protocol.dir/Sources/NeXTsoundProtocol/protocol.c.o [16/27] Building C object firmware-tests/CMakeFiles/nxs_control_tests.dir~/Developer/Projects/NeXTsound/Firmware/USB/control.c.o [17/27] Linking C static library libnxs_protocol.a [18/27] Linking C static library libnxs_dsp.a [19/27] Linking C executable nxs_protocol_tests [20/27] Linking C static library firmware-core/libnxs_device.a [21/27] Linking C executable nxs_dsp_tests [22/27] Linking C executable firmware-tests/nxs_pio_tests [23/27] Linking C executable firmware-tests/nxs_control_tests [24/27] Linking C executable nxs_audio_tests [25/27] Linking C executable nxs_device_tests [26/27] Linking C executable firmware-tests/nxs_descriptor_tests [27/27] Linking C executable nxs_render_tests Test project ~/Developer/Projects/NeXTsound/.build/c-protocol Start 1: protocol 1/12 Test #1: protocol ......................... Passed 0.37 sec Start 2: dsp 2/12 Test #2: dsp .............................. Passed 0.31 sec Start 3: device 3/12 Test #3: device ........................... Passed 0.22 sec Start 4: audio 4/12 Test #4: audio ............................ Passed 0.21 sec Start 5: render 5/12 Test #5: render ........................... Passed 0.22 sec Start 6: pio 6/12 Test #6: pio .............................. Passed 0.22 sec Start 7: descriptor 7/12 Test #7: descriptor ....................... Passed 0.21 sec Start 8: control 8/12 Test #8: control .......................... Passed 0.23 sec Start 9: control_mount 9/12 Test #9: control_mount .................... Passed 0.01 sec Start 10: control_packet 10/12 Test #10: control_packet ................... Passed 0.01 sec Start 11: control_short-read 11/12 Test #11: control_short-read ............... Passed 0.01 sec Start 12: control_inflight 12/12 Test #12: control_inflight ................. Passed 0.01 sec 100% tests passed out of 12 Total Test time (real) = 2.06 sec Building for debugging... [4 / 23] [12 / 25] NeXTsoundCore [22 / 35] NeXTsoundCore [24 / 33] NeXTsoundCore [33 / 38] NeXTsoundCoreTests-product [35 / 38] NeXTsoundCoreTests-product [37 / 41] NeXTsoundCoreTests-product Build complete! (1,37 sec) Test Suite 'All tests' started at 2026-10-18 09:30:54.220. Test Suite 'All tests' passed at 2026-10-18 09:30:54.225. Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.005) seconds 􀟈 Test run started. 􀄵 Testing Library Version: 2084 􀄵 Target Platform: arm64e-apple-macos14.0 􀟈 Suite EQResponseTests started. 􀟈 Suite WireCodecTests started. 􀟈 Suite ProfileTests started. 􀟈 Test invalidRevisionsCannotWrapOrBeSaved() started. 􀟈 Test runtimeStatusRoundTripPreservesDiagnostics() started. 􀟈 Test rejectsPersistenceWithoutVerifiedFlash() started. 􀟈 Test namedProfileRoundTripPreservesSpeakerAndEnclosure() started. 􀟈 Test rejectsUnknownProfileVersionsBeforeDecodingTheirContents() started. 􀟈 Test rejectsOversizedPayloadAndInvalidRequestID() started. 􀟈 Test rejectsInvalidFrequencies(_:) started. 􀟈 Test catalogChangesDoNotAlterProfileSnapshots() started. 􀟈 Test invalidEnclosuresCannotBeSaved() started. 􀟈 Test rejectsUnknownVersionsAndDirtyPadding() started. 􀟈 Test rejectsTheWrongNumberOfBands() started. 􀟈 Test invalidSpeakerValuesAreRejected(_:) started. 􀟈 Test capabilityRoundTripUsesTheSharedBounds() started. 􀟈 Test factoryPresetsAreMutedListeningStartingPoints() started. 􀟈 Test directEncodersRejectInvalidProfiles() started. 􀟈 Test jsonDecoderAlsoRejectsInvalidProfileContents() started. 􀟈 Test matchesTheSharedGoldenPacket() started. 􀟈 Test acknowledgementsRequireMatchingRequestAndOperation() started. 􀟈 Test snapshotRoundTripPreservesIdentityAndParameters() started. 􀟈 Test rejectsIncorrectReportLengths(_:) started. 􀟈 Test previewExcludesMuteAttenuationAndNonlinearLimiting() started. 􀟈 Test rejectsEmbeddedNullsInDeviceStrings() started. 􀟈 Test datasheetSpecificationsRequireASource() started. 􀟈 Test rejectsAnEmptyProfileName() started. 􀟈 Test rejectsInvalidFrequencies(_:) started. 􀟈 Test unknownSpeakerAndVolumeDataRemainAbsent() started. 􀟈 Test peakingResponseUsesTheFirmwareCoefficients() started. 􀟈 Test rejectsInvalidSettings() started. 􀟈 Test highPassHasTheButterworthCutoffResponse() started. 􀟈 Test case passing 1 argument frequency → nan to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument frequency → -inf to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument frequency → inf to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument frequency → 0.0 to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument frequency → 25000.0 to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument impedance → 0.0 to invalidSpeakerValuesAreRejected(_:) started. 􀟈 Test case passing 1 argument impedance → -1.0 to invalidSpeakerValuesAreRejected(_:) started. 􀟈 Test case passing 1 argument impedance → inf to invalidSpeakerValuesAreRejected(_:) started. 􀟈 Test case passing 1 argument impedance → -inf to invalidSpeakerValuesAreRejected(_:) started. 􀟈 Test case passing 1 argument impedance → nan to invalidSpeakerValuesAreRejected(_:) started. 􀟈 Test case passing 1 argument frequency → 0.0 to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument frequency → -1.0 to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument frequency → inf to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument length → 1 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument frequency → 24000.0 to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument length → 0 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument length → 19 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument length → 20 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument frequency → nan to rejectsInvalidFrequencies(_:) started. 􀟈 Test case passing 1 argument length → 119 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument length → 255 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument length → 257 to rejectsIncorrectReportLengths(_:) started. 􀟈 Test case passing 1 argument length → 512 to rejectsIncorrectReportLengths(_:) started. 􁁛 Test runtimeStatusRoundTripPreservesDiagnostics() passed after 0.001 seconds. 􁁛 Test catalogChangesDoNotAlterProfileSnapshots() passed after 0.001 seconds. 􁁛 Test invalidEnclosuresCannotBeSaved() passed after 0.001 seconds. 􁁛 Test rejectsUnknownProfileVersionsBeforeDecodingTheirContents() passed after 0.001 seconds. 􁁛 Test rejectsUnknownVersionsAndDirtyPadding() passed after 0.001 seconds. 􁁛 Test rejectsTheWrongNumberOfBands() passed after 0.001 seconds. 􁁛 Test invalidSpeakerValuesAreRejected(_:) with 5 test cases passed after 0.001 seconds. 􁁛 Test rejectsInvalidFrequencies(_:) with 5 test cases passed after 0.002 seconds. 􁁛 Test invalidRevisionsCannotWrapOrBeSaved() passed after 0.002 seconds. 􁁛 Test capabilityRoundTripUsesTheSharedBounds() passed after 0.001 seconds. 􁁛 Test rejectsPersistenceWithoutVerifiedFlash() passed after 0.002 seconds. 􁁛 Test rejectsOversizedPayloadAndInvalidRequestID() passed after 0.001 seconds. 􁁛 Test snapshotRoundTripPreservesIdentityAndParameters() passed after 0.001 seconds. 􁁛 Test directEncodersRejectInvalidProfiles() passed after 0.001 seconds. 􁁛 Test rejectsEmbeddedNullsInDeviceStrings() passed after 0.001 seconds. 􁁛 Test previewExcludesMuteAttenuationAndNonlinearLimiting() passed after 0.001 seconds. 􁁛 Test acknowledgementsRequireMatchingRequestAndOperation() passed after 0.001 seconds. 􁁛 Test factoryPresetsAreMutedListeningStartingPoints() passed after 0.001 seconds. 􁁛 Test rejectsAnEmptyProfileName() passed after 0.001 seconds. 􁁛 Test highPassHasTheButterworthCutoffResponse() passed after 0.001 seconds. 􁁛 Test rejectsInvalidSettings() passed after 0.001 seconds. 􁁛 Test datasheetSpecificationsRequireASource() passed after 0.001 seconds. 􁁛 Test peakingResponseUsesTheFirmwareCoefficients() passed after 0.001 seconds. 􁁛 Test namedProfileRoundTripPreservesSpeakerAndEnclosure() passed after 0.002 seconds. 􁁛 Test unknownSpeakerAndVolumeDataRemainAbsent() passed after 0.001 seconds. 􁁛 Test rejectsInvalidFrequencies(_:) with 5 test cases passed after 0.001 seconds. 􁁛 Test rejectsIncorrectReportLengths(_:) with 8 test cases passed after 0.001 seconds. 􁁛 Test jsonDecoderAlsoRejectsInvalidProfileContents() passed after 0.001 seconds. 􁁛 Suite EQResponseTests passed after 0.002 seconds. 􁁛 Suite ProfileTests passed after 0.002 seconds. 􁁛 Test matchesTheSharedGoldenPacket() passed after 0.005 seconds. 􁁛 Suite WireCodecTests passed after 0.005 seconds. 􁁛 Test run with 29 tests in 3 suites passed after 0.005 seconds. Building for production... [9 / 19] [15 / 23] [16 / 23] NeXTsoundCore Build complete! (1,16 sec)