             XCTAssertNotNil(record) // we must have been able to parse a record
             XCTAssertGreaterThan(record?.payload.readableBytes ?? -1, 0) // there must be some TCP/IP packet in there
             XCTAssertEqual(24, record?.pcapProtocolID) // 24 is IPv6
-            if let ipPacket = record?.payload.readTCPIPv6() {
+            if let ipPacket = try record?.payload.readTCPIPv6() {
                 ipPackets.append(ipPacket)
                 XCTAssertEqual(0, ipPacket.tcpPayload.readableBytes)
                 XCTAssertEqual(20, ipPacket.payloadLength) // in IPv6 it's just the payload, ie. payload + TCP header

        XCTAssertEqual(expectedData, actualData)
    }
    
    func testOversizedInboundDataComesAsTwoPacketsIPv6() {
        self.channel.localAddress = try! SocketAddress(ipAddress: "::1", port: 1111)
        self.channel.remoteAddress = try! SocketAddress(ipAddress: "::2", port: 2222)
        let expectedData = String(repeating: "X", count: Int(UInt16.max) * 2 - 300)

            return
        }
        XCTAssertEqual(0, packetBytes.readableBytes) // check nothing is left over
        guard let tcpIPPacket1 = try payload1.payload.readTCPIPv6(),
            let tcpIPPacket2 = try payload2.payload.readTCPIPv6() else {
            XCTFail("couldn't read TCP/IPv6 packets")
            return
        }
