From 29328a9a85dc6d35f5c553f67e47a42728e9ba8b Mon Sep 17 00:00:00 2001 From: tom doron Date: Thu, 14 Jan 2021 15:13:05 -0800 Subject: [PATCH 1/2] fix formatting so that sanity script passes motivation: consistent formatting as prep for OSS changes: run swiftformat to align formatting --- .../Decoder/KeyedTopLevelListDecoder.swift | 2 +- .../StructuredHeaderField.swift | 1 - Sources/StructuredHeaders/FieldParser.swift | 34 +++++++++---------- .../StructuredHeaders/FieldSerializer.swift | 2 +- .../StructuredFieldDecoderTests.swift | 6 ++-- .../StructuredFieldEncoderTests.swift | 3 +- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Sources/CodableStructuredHeaders/Decoder/KeyedTopLevelListDecoder.swift b/Sources/CodableStructuredHeaders/Decoder/KeyedTopLevelListDecoder.swift index 541550f..f2487cf 100644 --- a/Sources/CodableStructuredHeaders/Decoder/KeyedTopLevelListDecoder.swift +++ b/Sources/CodableStructuredHeaders/Decoder/KeyedTopLevelListDecoder.swift @@ -23,7 +23,7 @@ struct KeyedTopLevelListDecoder - + init(_ list: [ItemOrInnerList], decoder: _StructuredFieldDecoder) { self.list = list self.decoder = decoder diff --git a/Sources/CodableStructuredHeaders/StructuredHeaderField.swift b/Sources/CodableStructuredHeaders/StructuredHeaderField.swift index cac896f..9ea63d5 100644 --- a/Sources/CodableStructuredHeaders/StructuredHeaderField.swift +++ b/Sources/CodableStructuredHeaders/StructuredHeaderField.swift @@ -21,7 +21,6 @@ public protocol StructuredHeaderField: Codable { static var structuredFieldType: StructuredHeaderFieldType { get } } - /// The kinds of header fields used in HTTP Structured Headers. public enum StructuredHeaderFieldType { /// An item field consists of a single item, optionally with parameters. diff --git a/Sources/StructuredHeaders/FieldParser.swift b/Sources/StructuredHeaders/FieldParser.swift index 69e30a1..34c32f3 100644 --- a/Sources/StructuredHeaders/FieldParser.swift +++ b/Sources/StructuredHeaders/FieldParser.swift @@ -523,24 +523,24 @@ extension String { // `StrippingStringEscapesCollection` for more details on what we're doing here. let unescapedBytes = StrippingStringEscapesCollection(bytes, escapes: escapes) #if canImport(Darwin) - if #available(macOS 10.16, macCatalyst 10.16, iOS 14.0, watchOS 7.0, tvOS 14.0, *) { - return String(unsafeUninitializedCapacity: unescapedBytes.count) { innerPtr in - let (_, endIndex) = innerPtr.initialize(from: unescapedBytes) - return endIndex - } - } else { - return String(decoding: unescapedBytes, as: UTF8.self) + if #available(macOS 10.16, macCatalyst 10.16, iOS 14.0, watchOS 7.0, tvOS 14.0, *) { + return String(unsafeUninitializedCapacity: unescapedBytes.count) { innerPtr in + let (_, endIndex) = innerPtr.initialize(from: unescapedBytes) + return endIndex } - #else - #if compiler(>=5.3) - return String(unsafeUninitializedCapacity: unescapedBytes.count) { innerPtr in - let (_, endIndex) = innerPtr.initialize(from: unescapedBytes) - return endIndex - } - #else - return String(decoding: unescapedBytes, as: UTF8.self) - #endif - #endif + } else { + return String(decoding: unescapedBytes, as: UTF8.self) + } + #else + #if compiler(>=5.3) + return String(unsafeUninitializedCapacity: unescapedBytes.count) { innerPtr in + let (_, endIndex) = innerPtr.initialize(from: unescapedBytes) + return endIndex + } + #else + return String(decoding: unescapedBytes, as: UTF8.self) + #endif + #endif } } diff --git a/Sources/StructuredHeaders/FieldSerializer.swift b/Sources/StructuredHeaders/FieldSerializer.swift index 246f3b1..150c54c 100644 --- a/Sources/StructuredHeaders/FieldSerializer.swift +++ b/Sources/StructuredHeaders/FieldSerializer.swift @@ -166,7 +166,7 @@ extension StructuredFieldSerializer { self.data.append(contentsOf: key.utf8) } - private mutating func serializeABareItem(_ item: BareItem) throws{ + private mutating func serializeABareItem(_ item: BareItem) throws { switch item { case .integer(let int): guard let wideInt = Int64(exactly: int), validIntegerRange.contains(wideInt) else { diff --git a/Tests/StructuredHeadersTests/StructuredFieldDecoderTests.swift b/Tests/StructuredHeadersTests/StructuredFieldDecoderTests.swift index eaa6177..5ebd07a 100644 --- a/Tests/StructuredHeadersTests/StructuredFieldDecoderTests.swift +++ b/Tests/StructuredHeadersTests/StructuredFieldDecoderTests.swift @@ -33,7 +33,7 @@ struct ListyDictionaryParameterisedList: Codable, Equatable { struct ItemField: StructuredHeaderField, Equatable { static var structuredFieldType: StructuredHeaderFieldType { - return .item + .item } var item: Base @@ -45,7 +45,7 @@ struct ItemField: StructuredHeaderField, Equatable { struct List: StructuredHeaderField, Equatable { static var structuredFieldType: StructuredHeaderFieldType { - return .list + .list } var items: [Base] @@ -57,7 +57,7 @@ struct List: StructuredHeaderField, Equatable { struct DictionaryField: StructuredHeaderField, Equatable { static var structuredFieldType: StructuredHeaderFieldType { - return .dictionary + .dictionary } var items: [Key: Value] diff --git a/Tests/StructuredHeadersTests/StructuredFieldEncoderTests.swift b/Tests/StructuredHeadersTests/StructuredFieldEncoderTests.swift index 0923db5..f207b2f 100644 --- a/Tests/StructuredHeadersTests/StructuredFieldEncoderTests.swift +++ b/Tests/StructuredHeadersTests/StructuredFieldEncoderTests.swift @@ -47,8 +47,9 @@ final class StructuredFieldEncoderTests: XCTestCase { func testEncodeKeyedItemHeader() throws { struct KeyedItem: Equatable, StructuredHeaderField { static var structuredFieldType: StructuredHeaderFieldType { - return .item + .item } + var item: ItemType var parameters: [String: Bool] } From 0b3ca8d5052988df70e1e0a2b5cad31add695149 Mon Sep 17 00:00:00 2001 From: tomer doron Date: Thu, 14 Jan 2021 15:27:39 -0800 Subject: [PATCH 2/2] dont use TSAN on 18.04 --- docker/docker-compose.1804.53.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/docker-compose.1804.53.yaml b/docker/docker-compose.1804.53.yaml index 807c818..e26d520 100644 --- a/docker/docker-compose.1804.53.yaml +++ b/docker/docker-compose.1804.53.yaml @@ -14,8 +14,6 @@ services: test: image: swift-http-structured-headers:18.04-5.3 - environment: - - SANITIZER_ARG=--sanitize=thread shell: image: swift-http-structured-headers:18.04-5.3