76 lines
2.3 KiB
Swift
76 lines
2.3 KiB
Swift
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This source file is part of the SwiftNIO open source project
|
|
//
|
|
// Copyright (c) 2020-2021 Apple Inc. and the SwiftNIO project authors
|
|
// Licensed under Apache License v2.0
|
|
//
|
|
// See LICENSE.txt for license information
|
|
// See CONTRIBUTORS.txt for the list of SwiftNIO project authors
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
import NIOCore
|
|
import NIOPosix
|
|
|
|
fileprivate let group = MultiThreadedEventLoopGroup(numberOfThreads: 2)
|
|
|
|
struct LoopBoundTests {
|
|
#if !os(iOS) && !os(tvOS) && !os(watchOS)
|
|
let testInitChecksEventLoop = CrashTest(
|
|
regex: "NIOCore/NIOLoopBound.swift:[0-9]+: Precondition failed"
|
|
) {
|
|
_ = NIOLoopBound(1, eventLoop: group.any()) // BOOM
|
|
}
|
|
|
|
let testInitOfBoxChecksEventLoop = CrashTest(
|
|
regex: "NIOCore/NIOLoopBound.swift:[0-9]+: Precondition failed"
|
|
) {
|
|
_ = NIOLoopBoundBox(1, eventLoop: group.any()) // BOOM
|
|
}
|
|
|
|
let testGetChecksEventLoop = CrashTest(
|
|
regex: "NIOCore/NIOLoopBound.swift:[0-9]+: Precondition failed"
|
|
) {
|
|
let loop = group.any()
|
|
let sendable = try? loop.submit {
|
|
NIOLoopBound(1, eventLoop: loop)
|
|
}.wait()
|
|
_ = sendable?.value // BOOM
|
|
}
|
|
|
|
let testGetOfBoxChecksEventLoop = CrashTest(
|
|
regex: "NIOCore/NIOLoopBound.swift:[0-9]+: Precondition failed"
|
|
) {
|
|
let loop = group.any()
|
|
let sendable = try? loop.submit {
|
|
NIOLoopBoundBox(1, eventLoop: loop)
|
|
}.wait()
|
|
_ = sendable?.value // BOOM
|
|
}
|
|
|
|
let testSetChecksEventLoop = CrashTest(
|
|
regex: "NIOCore/NIOLoopBound.swift:[0-9]+: Precondition failed"
|
|
) {
|
|
let loop = group.any()
|
|
let sendable = try? loop.submit {
|
|
NIOLoopBound(1, eventLoop: loop)
|
|
}.wait()
|
|
var sendableVar = sendable
|
|
sendableVar?.value = 2
|
|
}
|
|
|
|
let testSetOfBoxChecksEventLoop = CrashTest(
|
|
regex: "NIOCore/NIOLoopBound.swift:[0-9]+: Precondition failed"
|
|
) {
|
|
let loop = group.any()
|
|
let sendable = try? loop.submit {
|
|
NIOLoopBoundBox(1, eventLoop: loop)
|
|
}.wait()
|
|
sendable?.value = 2
|
|
}
|
|
#endif
|
|
}
|