         XCTAssertEqual("hello", String(decoding: tcpIPPacket.tcpPayload.readableBytesView, as: Unicode.UTF8.self))
     }
     
-    func testOutboundData() {
+    func testOutboundData() throws {
         self.channel.localAddress = try! SocketAddress(ipAddress: "1.2.3.4", port: 1111)
         self.channel.remoteAddress = try! SocketAddress(ipAddress: "9.8.7.6", port: 2222)
         self.scratchBuffer.writeStaticString("hello")

    }
    
    // read & parse a TCP/IPv4 packet, containing everything belonging to it (including payload)
    mutating func readTCPIPv4() -> TCPIPv4Packet? {
        let saveSelf = self
        guard let version = self.readInteger(as: UInt8.self),
            let _ = self.readInteger(as: UInt8.self), // DSCP

        XCTAssertEqual(0, buffer?.readableBytes) // there shouldn't be anything else left
    }

    func testConnectIssuesThreePacketsForIPv6() throws {
        XCTAssertEqual([], self.accumulatedPackets)
        self.channel.localAddress = try! SocketAddress(ipAddress: "1:2:3:4:5:6:7:8", port: Int(UInt16.max) - 1)
        XCTAssertNoThrow(try self.channel.connect(to: .init(ipAddress: "::1", port: 5678)).wait())
