From 58fbdfa43d75f0d0089f093b3582009b0cddbad3 Mon Sep 17 00:00:00 2001 From: Joe Newton <> Date: Fri, 21 Feb 2020 16:59:00 -0500 Subject: [PATCH 1/2] Fixed issue where Half wasn't buildable from the command line --- .gitignore | 2 ++ Package.swift | 2 +- Tests/HalfTests/Half+CodingTests.swift | 22 +++++++++++----------- Tests/HalfTests/HalfTests.swift | 2 +- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index ece312e..e64c7e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ Half.xcodeproj/project.xcworkspace Half.xcodeproj/xcuserdata +.swiftpm +.build diff --git a/Package.swift b/Package.swift index 8618b69..12aac3e 100644 --- a/Package.swift +++ b/Package.swift @@ -21,5 +21,5 @@ let package = Package( .testTarget(name: "HalfTests", dependencies: ["Half"]) ], - swiftLanguageVersions: [.version("4.0"), .version("4.2"), .version("5.0")] + swiftLanguageVersions: [.version("4"), .version("4.2"), .version("5")] ) diff --git a/Tests/HalfTests/Half+CodingTests.swift b/Tests/HalfTests/Half+CodingTests.swift index 377d2ba..b91b416 100644 --- a/Tests/HalfTests/Half+CodingTests.swift +++ b/Tests/HalfTests/Half+CodingTests.swift @@ -31,7 +31,7 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try JSONEncoder().encode(simple)) XCTAssertNoThrow(decoded = try JSONDecoder().decode(Simple.self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded), simple) + XCTAssertEqual(decoded, simple) } do { let values: [Half] = [1.0, 2.0, 3.0] @@ -40,7 +40,7 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try JSONEncoder().encode(values)) XCTAssertNoThrow(decoded = try JSONDecoder().decode([Half].self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded), values) + XCTAssertEqual(decoded, values) } do { let values: [Simple] = [Simple(half: 1.5, int: 1), Simple(half: 2.5, int: 2), Simple(half: 3.5, int: 3)] @@ -49,7 +49,7 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try JSONEncoder().encode(values)) XCTAssertNoThrow(decoded = try JSONDecoder().decode([Simple].self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded), values) + XCTAssertEqual(decoded, values) } do { let simple = Simple(half: .infinity, int: 0) @@ -65,8 +65,8 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try encoder.encode(simple)) XCTAssertNoThrow(decoded = try decoder.decode(Simple.self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded).int, simple.int) - try XCTAssertTrue(XCTUnwrap(decoded).half.isInfinite) + XCTAssertEqual(decoded.int, simple.int) + XCTAssertTrue(decoded.half.isInfinite) } do { let simple = Simple(half: -.infinity, int: 0) @@ -82,8 +82,8 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try encoder.encode(simple)) XCTAssertNoThrow(decoded = try decoder.decode(Simple.self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded).int, simple.int) - try XCTAssertTrue(XCTUnwrap(decoded).half.isInfinite) + XCTAssertEqual(decoded.int, simple.int) + XCTAssertTrue(decoded.half.isInfinite) } do { let simple = Simple(half: .nan, int: 0) @@ -99,8 +99,8 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try encoder.encode(simple)) XCTAssertNoThrow(decoded = try decoder.decode(Simple.self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded).int, simple.int) - try XCTAssertTrue(XCTUnwrap(decoded).half.isNaN) + XCTAssertEqual(decoded.int, simple.int) + XCTAssertTrue(decoded.half.isNaN) } do { let simple = Simple(half: .signalingNaN, int: 0) @@ -116,8 +116,8 @@ class HalfCodingTests: XCTestCase { XCTAssertNoThrow(data = try encoder.encode(simple)) XCTAssertNoThrow(decoded = try decoder.decode(Simple.self, from: data)) - try XCTAssertEqual(XCTUnwrap(decoded).int, simple.int) - try XCTAssertTrue(XCTUnwrap(decoded).half.isNaN) + XCTAssertEqual(decoded.int, simple.int) + XCTAssertTrue(decoded.half.isNaN) } } diff --git a/Tests/HalfTests/HalfTests.swift b/Tests/HalfTests/HalfTests.swift index 7148560..b45061b 100644 --- a/Tests/HalfTests/HalfTests.swift +++ b/Tests/HalfTests/HalfTests.swift @@ -158,7 +158,7 @@ class HalfTests: XCTestCase { XCTAssertEqual(Half(uint), 1.0) XCTAssertEqual(Half(uint), 1) - try XCTAssertEqual(XCTUnwrap(Half(exactly: 8)), 8.0) + XCTAssertEqual(Half(exactly: 8), 8.0) XCTAssertNil(Half(exactly: Int64.max)) } From af60a4eb5282a0282a3db4035a2f6713343bde67 Mon Sep 17 00:00:00 2001 From: Joe Newton <> Date: Fri, 21 Feb 2020 17:01:21 -0500 Subject: [PATCH 2/2] Added code coverage configuration file to explicitly ignore the code coverage of the unit testing targets --- Half.xcodeproj/project.pbxproj | 2 ++ codecov.yml | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 codecov.yml diff --git a/Half.xcodeproj/project.pbxproj b/Half.xcodeproj/project.pbxproj index 8206d2e..896c2ec 100644 --- a/Half.xcodeproj/project.pbxproj +++ b/Half.xcodeproj/project.pbxproj @@ -87,6 +87,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + DD6F08D124008A7400749359 /* codecov.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = codecov.yml; sourceTree = ""; }; DDFEEC3323EF13900096015C /* Half.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Half.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DDFEEC3723EF13900096015C /* Half-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Half-Info.plist"; path = "Info/Half-Info.plist"; sourceTree = ""; }; DDFEEC3C23EF13910096015C /* HalfTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = HalfTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -235,6 +236,7 @@ children = ( DDFEECAB23F1BA550096015C /* Half.podspec */, DDFEECAC23F1BA550096015C /* Package.swift */, + DD6F08D124008A7400749359 /* codecov.yml */, DDFEECAE23F1BA5E0096015C /* .swiftlint.yml */, DDFEECAD23F1BA5E0096015C /* .travis.yml */, DDFEECAF23F1BA680096015C /* README.md */, diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..b2351b3 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,23 @@ +codecov: + require_ci_to_pass: yes + +coverage: + precision: 2 + round: down + range: "70...100" + +parsers: + gcov: + branch_detection: + conditional: yes + loop: yes + method: no + macro: no + +comment: + layout: "reach,diff,flags,tree" + behavior: default + require_changes: no + +ignore: + - Tests/**/*