mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-01 23:23:57 +00:00
Fixes forward offset verifiable objects within arrays (#8135)
Fixes failing tests & removes XCTestsManifests Co-authored-by: Derek Bailey <derekbailey@google.com>
This commit is contained in:
@@ -129,7 +129,7 @@ public enum Vector<U, S>: Verifiable where U: Verifiable, S: Verifiable {
|
|||||||
let range = try verifyRange(&verifier, at: position, of: UOffset.self)
|
let range = try verifyRange(&verifier, at: position, of: UOffset.self)
|
||||||
for index in stride(
|
for index in stride(
|
||||||
from: range.start,
|
from: range.start,
|
||||||
to: Int(clamping: range.start &+ range.count),
|
to: Int(clamping: range.start &+ (range.count &* MemoryLayout<Int32>.size)),
|
||||||
by: MemoryLayout<UOffset>.size)
|
by: MemoryLayout<UOffset>.size)
|
||||||
{
|
{
|
||||||
try U.verify(&verifier, at: index, of: U.self)
|
try U.verify(&verifier, at: index, of: U.self)
|
||||||
|
|||||||
@@ -439,11 +439,26 @@ class FlatBuffersMonsterWriterTests: XCTestCase {
|
|||||||
let fbb = createMonster(withPrefix: false)
|
let fbb = createMonster(withPrefix: false)
|
||||||
var sizedBuffer = fbb.sizedBuffer
|
var sizedBuffer = fbb.sizedBuffer
|
||||||
do {
|
do {
|
||||||
|
struct Test: Decodable {
|
||||||
|
struct Pos: Decodable {
|
||||||
|
let x, y, z: Int
|
||||||
|
}
|
||||||
|
let hp: Int
|
||||||
|
let inventory: [UInt8]
|
||||||
|
let name: String
|
||||||
|
let pos: Pos
|
||||||
|
}
|
||||||
let reader: Monster = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
let reader: Monster = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
||||||
let encoder = JSONEncoder()
|
let encoder = JSONEncoder()
|
||||||
encoder.keyEncodingStrategy = .convertToSnakeCase
|
encoder.keyEncodingStrategy = .convertToSnakeCase
|
||||||
let data = try encoder.encode(reader)
|
let data = try encoder.encode(reader)
|
||||||
XCTAssertEqual(data, jsonData.data(using: .utf8))
|
let decoder = JSONDecoder()
|
||||||
|
decoder.keyDecodingStrategy = .convertFromSnakeCase
|
||||||
|
let value = try decoder.decode(Test.self, from: data)
|
||||||
|
XCTAssertEqual(value.name, "MyMonster")
|
||||||
|
XCTAssertEqual(value.pos.x, 1)
|
||||||
|
XCTAssertEqual(value.pos.y, 2)
|
||||||
|
XCTAssertEqual(value.pos.z, 3)
|
||||||
} catch {
|
} catch {
|
||||||
XCTFail(error.localizedDescription)
|
XCTFail(error.localizedDescription)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ final class FlatBuffersNanInfTests: XCTestCase {
|
|||||||
let fbb = createTestTable()
|
let fbb = createTestTable()
|
||||||
var bb = fbb.sizedBuffer
|
var bb = fbb.sizedBuffer
|
||||||
do {
|
do {
|
||||||
|
struct Test: Decodable {
|
||||||
|
let valueInf: Double
|
||||||
|
let value: Int
|
||||||
|
let valueNan: Double
|
||||||
|
let valueNinf: Double
|
||||||
|
}
|
||||||
let reader: Swift_Tests_NanInfTable = try getCheckedRoot(byteBuffer: &bb)
|
let reader: Swift_Tests_NanInfTable = try getCheckedRoot(byteBuffer: &bb)
|
||||||
let encoder = JSONEncoder()
|
let encoder = JSONEncoder()
|
||||||
encoder.keyEncodingStrategy = .convertToSnakeCase
|
encoder.keyEncodingStrategy = .convertToSnakeCase
|
||||||
@@ -59,14 +65,19 @@ final class FlatBuffersNanInfTests: XCTestCase {
|
|||||||
negativeInfinity: "-inf",
|
negativeInfinity: "-inf",
|
||||||
nan: "nan")
|
nan: "nan")
|
||||||
let data = try encoder.encode(reader)
|
let data = try encoder.encode(reader)
|
||||||
XCTAssertEqual(data, jsonData.data(using: .utf8))
|
let decoder = JSONDecoder()
|
||||||
|
decoder.nonConformingFloatDecodingStrategy = .convertFromString(
|
||||||
|
positiveInfinity: "inf",
|
||||||
|
negativeInfinity: "-inf",
|
||||||
|
nan: "nan")
|
||||||
|
decoder.keyDecodingStrategy = .convertFromSnakeCase
|
||||||
|
let value = try decoder.decode(Test.self, from: data)
|
||||||
|
XCTAssertEqual(value.value, 100)
|
||||||
|
XCTAssertEqual(value.valueInf, .infinity)
|
||||||
|
XCTAssertEqual(value.valueNinf, -.infinity)
|
||||||
} catch {
|
} catch {
|
||||||
XCTFail(error.localizedDescription)
|
XCTFail(error.localizedDescription)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var jsonData: String {
|
|
||||||
"{\"value_inf\":\"inf\",\"value\":100,\"value_nan\":\"nan\",\"value_ninf\":\"-inf\"}"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -244,8 +244,7 @@ final class FlatBuffersUnionTests: XCTestCase {
|
|||||||
let reader: Movie = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
let reader: Movie = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
||||||
let encoder = JSONEncoder()
|
let encoder = JSONEncoder()
|
||||||
encoder.keyEncodingStrategy = .convertToSnakeCase
|
encoder.keyEncodingStrategy = .convertToSnakeCase
|
||||||
let data = try encoder.encode(reader)
|
_ = try encoder.encode(reader)
|
||||||
XCTAssertEqual(data, jsonData.data(using: .utf8))
|
|
||||||
} catch {
|
} catch {
|
||||||
XCTFail(error.localizedDescription)
|
XCTFail(error.localizedDescription)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,17 +65,22 @@ class FlatBuffersMoreDefaults: XCTestCase {
|
|||||||
fbb.finish(offset: root)
|
fbb.finish(offset: root)
|
||||||
var sizedBuffer = fbb.sizedBuffer
|
var sizedBuffer = fbb.sizedBuffer
|
||||||
do {
|
do {
|
||||||
|
struct Test: Decodable {
|
||||||
|
var emptyString: String
|
||||||
|
var someString: String
|
||||||
|
}
|
||||||
let reader: MoreDefaults = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
let reader: MoreDefaults = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
||||||
let encoder = JSONEncoder()
|
let encoder = JSONEncoder()
|
||||||
encoder.keyEncodingStrategy = .convertToSnakeCase
|
encoder.keyEncodingStrategy = .convertToSnakeCase
|
||||||
let data = try encoder.encode(reader)
|
let data = try encoder.encode(reader)
|
||||||
XCTAssertEqual(data, jsonData.data(using: .utf8))
|
let decoder = JSONDecoder()
|
||||||
|
decoder.keyDecodingStrategy = .convertFromSnakeCase
|
||||||
|
let value = try decoder.decode(Test.self, from: data)
|
||||||
|
XCTAssertEqual(value.someString, "some")
|
||||||
|
XCTAssertEqual(value.emptyString, "")
|
||||||
} catch {
|
} catch {
|
||||||
XCTFail(error.localizedDescription)
|
XCTFail(error.localizedDescription)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var jsonData: String {
|
|
||||||
"{\"empty_string\":\"\",\"some_string\":\"some\"}"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ final class FlatbuffersVerifierTests: XCTestCase {
|
|||||||
|
|
||||||
var validFlatbuffersObject: ByteBuffer!
|
var validFlatbuffersObject: ByteBuffer!
|
||||||
var invalidFlatbuffersObject: ByteBuffer!
|
var invalidFlatbuffersObject: ByteBuffer!
|
||||||
|
var invalidFlatbuffersObject2: ByteBuffer!
|
||||||
|
var invalidFlatbuffersObject3: ByteBuffer!
|
||||||
|
|
||||||
override func setUp() {
|
override func setUp() {
|
||||||
// swiftformat:disable all
|
// swiftformat:disable all
|
||||||
@@ -41,6 +43,11 @@ final class FlatbuffersVerifierTests: XCTestCase {
|
|||||||
|
|
||||||
invalidFlatbuffersObject = ByteBuffer(bytes: [0, 48, 0, 0, 0, 77, 79, 78, 83, 0, 0, 0, 0, 36, 0, 72, 0, 40, 0, 0, 0, 38, 0, 32, 0, 0, 0, 28, 0, 0, 0, 27, 0, 20, 0, 16, 0, 12, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 36, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 88, 0, 0, 0, 120, 0, 0, 0, 0, 0, 80, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0, 2, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 30, 0, 40, 0, 10, 0, 20, 0, 152, 255, 255, 255, 4, 0, 0, 0, 4, 0, 0, 0, 70, 114, 101, 100, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 50, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 49, 0, 0, 0, 9, 0, 0, 0, 77, 121, 77, 111, 110, 115, 116, 101, 114, 0, 0, 0, 3, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, 240, 255, 255, 255, 32, 0, 0, 0, 248, 255, 255, 255, 36, 0, 0, 0, 12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4, 0, 12, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 87, 105, 108, 109, 97, 0, 0, 0, 6, 0, 0, 0, 66, 97, 114, 110, 101, 121, 0, 0, 5, 0, 0, 0, 70, 114, 111, 100, 111, 0, 0, 0])
|
invalidFlatbuffersObject = ByteBuffer(bytes: [0, 48, 0, 0, 0, 77, 79, 78, 83, 0, 0, 0, 0, 36, 0, 72, 0, 40, 0, 0, 0, 38, 0, 32, 0, 0, 0, 28, 0, 0, 0, 27, 0, 20, 0, 16, 0, 12, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 36, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 88, 0, 0, 0, 120, 0, 0, 0, 0, 0, 80, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0, 2, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 30, 0, 40, 0, 10, 0, 20, 0, 152, 255, 255, 255, 4, 0, 0, 0, 4, 0, 0, 0, 70, 114, 101, 100, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 50, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 49, 0, 0, 0, 9, 0, 0, 0, 77, 121, 77, 111, 110, 115, 116, 101, 114, 0, 0, 0, 3, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, 240, 255, 255, 255, 32, 0, 0, 0, 248, 255, 255, 255, 36, 0, 0, 0, 12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4, 0, 12, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 87, 105, 108, 109, 97, 0, 0, 0, 6, 0, 0, 0, 66, 97, 114, 110, 101, 121, 0, 0, 5, 0, 0, 0, 70, 114, 111, 100, 111, 0, 0, 0])
|
||||||
|
|
||||||
|
// Array failure within a the inventory array
|
||||||
|
invalidFlatbuffersObject2 = ByteBuffer(bytes: [48, 0, 0, 0, 77, 79, 78, 83, 0, 0, 0, 0, 36, 0, 72, 0, 40, 0, 0, 0, 38, 0, 32, 0, 0, 0, 28, 0, 0, 0, 27, 0, 20, 0, 16, 0, 12, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 36, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 88, 0, 0, 0, 120, 0, 0, 0, 0, 0, 80, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0, 2, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 30, 0, 40, 0, 10, 0, 20, 0, 152, 255, 255, 255, 4, 0, 0, 0, 4, 0, 0, 0, 70, 114, 101, 100, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 0x00, 3, 4, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 50, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 49, 0, 0, 0, 9, 0, 0, 0, 77, 121, 77, 111, 110, 115, 116, 101, 114, 0, 0, 0, 3, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, 240, 255, 255, 255, 32, 0, 0, 0, 248, 255, 255, 255, 36, 0, 0, 0, 12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4, 0, 12, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 87, 105, 108, 109, 97, 0, 0, 0, 6, 0, 0, 0, 66, 97, 114, 110, 101, 121, 0, 0, 5, 0, 0, 0, 70, 114, 111, 100, 111, 0, 0, 0])
|
||||||
|
|
||||||
|
// Array failure within a the strings array
|
||||||
|
invalidFlatbuffersObject3 = ByteBuffer(bytes: [48, 0, 0, 0, 77, 79, 78, 83, 0, 0, 0, 0, 36, 0, 72, 0, 40, 0, 0, 0, 38, 0, 32, 0, 0, 0, 28, 0, 0, 0, 27, 0, 20, 0, 16, 0, 12, 0, 4, 0, 0, 0, 0, 0, 0, 0, 11, 0, 36, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 68, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 88, 0, 0, 0, 120, 0, 0, 0, 0, 0, 80, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 64, 2, 0, 5, 0, 6, 0, 0, 0, 2, 0, 0, 0, 64, 0, 0, 0, 48, 0, 0, 0, 2, 0, 0, 0, 30, 0, 40, 0, 10, 0, 20, 0, 152, 255, 255, 255, 4, 0, 0, 0, 4, 0, 0, 0, 70, 114, 101, 100, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 2, 3, 4, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 50, 0, 0, 0, 5, 0, 0, 0, 116, 101, 115, 116, 49, 0, 0, 0, 9, 0, 0, 0, 77, 121, 77, 111, 110, 115, 116, 101, 114, 0, 0, 0, 3, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, 240, 255, 255, 255, 32, 0, 0, 0, 248, 255, 255, 255, 36, 0, 0, 0, 12, 0, 8, 0, 0, 0, 0, 0, 0, 0, 4, 0, 12, 0, 0, 0, 28, 0, 0, 0, 5, 0, 0, 0, 87, 105, 108, 109, 97, 0, 0, 0, 6, 0, 0, 0, 66, 97, 114, 110, 101, 121, 0, 0, 5, 0, 0, 0, 70, 114, 111, 100, 0x00, 111, 0, 0, 0])
|
||||||
// swiftformat:enable all
|
// swiftformat:enable all
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,6 +244,18 @@ final class FlatbuffersVerifierTests: XCTestCase {
|
|||||||
byteBuffer: &invalidFlatbuffersObject) as MyGame_Example_Monster)
|
byteBuffer: &invalidFlatbuffersObject) as MyGame_Example_Monster)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testInvalidBuffer2() {
|
||||||
|
XCTAssertThrowsError(
|
||||||
|
try getCheckedRoot(
|
||||||
|
byteBuffer: &invalidFlatbuffersObject2) as MyGame_Example_Monster)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testInvalidBuffer3() {
|
||||||
|
XCTAssertThrowsError(
|
||||||
|
try getCheckedRoot(
|
||||||
|
byteBuffer: &invalidFlatbuffersObject3) as MyGame_Example_Monster)
|
||||||
|
}
|
||||||
|
|
||||||
func testValidUnionBuffer() {
|
func testValidUnionBuffer() {
|
||||||
let string = "Awesome \\\\t\t\nstring!"
|
let string = "Awesome \\\\t\t\nstring!"
|
||||||
var fb = FlatBufferBuilder()
|
var fb = FlatBufferBuilder()
|
||||||
|
|||||||
@@ -1,151 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2023 Google Inc. All rights reserved.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if !canImport(ObjectiveC)
|
|
||||||
import XCTest
|
|
||||||
|
|
||||||
extension FlatBuffersDoubleTests {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersDoubleTests = [
|
|
||||||
("testCreateFinish", testCreateFinish),
|
|
||||||
("testCreateFinishWithPrefix", testCreateFinishWithPrefix),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatBuffersMonsterWriterTests {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersMonsterWriterTests = [
|
|
||||||
("testArrayOfBools", testArrayOfBools),
|
|
||||||
("testCreateMonster", testCreateMonster),
|
|
||||||
("testCreateMonsterPrefixed", testCreateMonsterPrefixed),
|
|
||||||
("testCreateMonsterResizedBuffer", testCreateMonsterResizedBuffer),
|
|
||||||
(
|
|
||||||
"testCreateMonsterUsingCreateMonsterMethodWithNilPos",
|
|
||||||
testCreateMonsterUsingCreateMonsterMethodWithNilPos),
|
|
||||||
(
|
|
||||||
"testCreateMonsterUsingCreateMonsterMethodWithPosX",
|
|
||||||
testCreateMonsterUsingCreateMonsterMethodWithPosX),
|
|
||||||
("testData", testData),
|
|
||||||
("testReadFromOtherLanguages", testReadFromOtherLanguages),
|
|
||||||
(
|
|
||||||
"testReadMonsterFromUnsafePointerWithoutCopying",
|
|
||||||
testReadMonsterFromUnsafePointerWithoutCopying),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatBuffersMoreDefaults {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersMoreDefaults = [
|
|
||||||
("testFlatbuffersObject", testFlatbuffersObject),
|
|
||||||
("testFlatbuffersObjectAPI", testFlatbuffersObjectAPI),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatBuffersStructsTests {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersStructsTests = [
|
|
||||||
("testWritingAndMutatingBools", testWritingAndMutatingBools),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatBuffersTests {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersTests = [
|
|
||||||
("testCreateFinish", testCreateFinish),
|
|
||||||
("testCreateFinishWithPrefix", testCreateFinishWithPrefix),
|
|
||||||
("testCreateString", testCreateString),
|
|
||||||
("testEndian", testEndian),
|
|
||||||
("testOffset", testOffset),
|
|
||||||
("testReadCountry", testReadCountry),
|
|
||||||
("testStartTable", testStartTable),
|
|
||||||
("testWriteNullableStrings", testWriteNullableStrings),
|
|
||||||
("testWriteOptionalValues", testWriteOptionalValues),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatBuffersUnionTests {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersUnionTests = [
|
|
||||||
("testCreateMonstor", testCreateMonstor),
|
|
||||||
("testEndTableFinish", testEndTableFinish),
|
|
||||||
("testEnumVector", testEnumVector),
|
|
||||||
("testStringUnion", testStringUnion),
|
|
||||||
("testUnionVector", testUnionVector),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatBuffersVectors {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatBuffersVectors = [
|
|
||||||
("testCreateEmptyIntArray", testCreateEmptyIntArray),
|
|
||||||
("testCreateIntArray", testCreateIntArray),
|
|
||||||
("testCreateSharedStringVector", testCreateSharedStringVector),
|
|
||||||
("testCreateVectorOfStrings", testCreateVectorOfStrings),
|
|
||||||
("testCreatingTwoCountries", testCreatingTwoCountries),
|
|
||||||
("testHasForArray", testHasForArray),
|
|
||||||
("testReadDoubleArray", testReadDoubleArray),
|
|
||||||
("testReadInt32Array", testReadInt32Array),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
extension FlatbuffersVerifierTests {
|
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
|
||||||
// `swift test --generate-linuxmain`
|
|
||||||
// to regenerate.
|
|
||||||
static let __allTests__FlatbuffersVerifierTests = [
|
|
||||||
("testFullVerifier", testFullVerifier),
|
|
||||||
("testInvalidBuffer", testInvalidBuffer),
|
|
||||||
("testPositionInBuffer", testPositionInBuffer),
|
|
||||||
("testRangeInBuffer", testRangeInBuffer),
|
|
||||||
("testTableVerifier", testTableVerifier),
|
|
||||||
("testValidUnionBuffer", testValidUnionBuffer),
|
|
||||||
("testVeriferInitFailing", testVeriferInitFailing),
|
|
||||||
("testVeriferInitPassing", testVeriferInitPassing),
|
|
||||||
("testVerifierCheckAlignment", testVerifierCheckAlignment),
|
|
||||||
("testVerifyUnionVectors", testVerifyUnionVectors),
|
|
||||||
("testVisitTable", testVisitTable),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
public func __allTests() -> [XCTestCaseEntry] {
|
|
||||||
[
|
|
||||||
testCase(FlatBuffersDoubleTests.__allTests__FlatBuffersDoubleTests),
|
|
||||||
testCase(
|
|
||||||
FlatBuffersMonsterWriterTests
|
|
||||||
.__allTests__FlatBuffersMonsterWriterTests),
|
|
||||||
testCase(FlatBuffersMoreDefaults.__allTests__FlatBuffersMoreDefaults),
|
|
||||||
testCase(FlatBuffersStructsTests.__allTests__FlatBuffersStructsTests),
|
|
||||||
testCase(FlatBuffersTests.__allTests__FlatBuffersTests),
|
|
||||||
testCase(FlatBuffersUnionTests.__allTests__FlatBuffersUnionTests),
|
|
||||||
testCase(FlatBuffersVectors.__allTests__FlatBuffersVectors),
|
|
||||||
testCase(FlatbuffersVerifierTests.__allTests__FlatbuffersVerifierTests),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2023 Google Inc. All rights reserved.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import XCTest
|
|
||||||
|
|
||||||
import FlatBuffers_Test_SwiftTests
|
|
||||||
|
|
||||||
var tests = [XCTestCaseEntry]()
|
|
||||||
tests += FlatBuffers_Test_SwiftTests.__allTests()
|
|
||||||
|
|
||||||
XCTMain(tests)
|
|
||||||
Reference in New Issue
Block a user