summaryrefslogtreecommitdiffhomepage
path: root/ios/PacketTunnelCoreTests
diff options
context:
space:
mode:
authorAndrew Bulhak <andrew.bulhak@mullvad.net>2024-07-15 11:13:20 +0200
committerBug Magnet <marco.nikic@mullvad.net>2024-09-18 16:26:47 +0200
commitdee9d4e90af2dda070cbe72cc76cf4a375197012 (patch)
tree01a923d9d29c774abe992cebad9684cfbae615ea /ios/PacketTunnelCoreTests
parent965777945868ee7dff0892945fbb67ecf500ffc6 (diff)
downloadmullvadvpn-dee9d4e90af2dda070cbe72cc76cf4a375197012.tar.xz
mullvadvpn-dee9d4e90af2dda070cbe72cc76cf4a375197012.zip
Add IAN-based TunnelPinger refactoring the pinger protocol accordingly
Diffstat (limited to 'ios/PacketTunnelCoreTests')
-rw-r--r--ios/PacketTunnelCoreTests/Mocks/PingerMock.swift10
1 files changed, 8 insertions, 2 deletions
diff --git a/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift b/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift
index 9ed50fcd3c..ab80bee914 100644
--- a/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift
+++ b/ios/PacketTunnelCoreTests/Mocks/PingerMock.swift
@@ -34,8 +34,9 @@ class PingerMock: PingerProtocol {
self.decideOutcome = decideOutcome
}
- func openSocket(bindTo interfaceName: String?) throws {
+ func openSocket(bindTo interfaceName: String?, destAddress: IPv4Address) throws {
stateLock.withLock {
+ state.destAddress = destAddress
state.isSocketOpen = true
}
}
@@ -46,11 +47,15 @@ class PingerMock: PingerProtocol {
}
}
- func send(to address: IPv4Address) throws -> PingerSendResult {
+ func send() throws -> PingerSendResult {
// Used for simulation. In reality can be any number.
// But for realism it is: IPv4 header (20 bytes) + ICMP header (8 bytes)
let icmpPacketSize: UInt = 28
+ guard let address = state.destAddress else {
+ fatalError("Address somehow not set when sending ping")
+ }
+
let nextSequenceId = try stateLock.withLock {
guard state.isSocketOpen else { throw POSIXError(.ENOTCONN) }
@@ -91,6 +96,7 @@ class PingerMock: PingerProtocol {
var sequenceId: UInt16 = 0
var isSocketOpen = false
var onReply: ((PingerReply) -> Void)?
+ var destAddress: IPv4Address? = nil
mutating func incrementSequenceId() -> UInt16 {
sequenceId += 1