@@ -1636,6 +1636,9 @@ class DataTests : XCTestCase {
1636
1636
1637
1637
@available ( FoundationSpan 6 . 2 , * )
1638
1638
func test_InlineDataSpan( ) throws {
1639
+ #if compiler(<6.2)
1640
+ throw XCTSkip ( " Span not available " )
1641
+ #else
1639
1642
var source = Data ( )
1640
1643
var span = source. span
1641
1644
XCTAssertTrue ( span. isEmpty)
@@ -1645,18 +1648,26 @@ class DataTests : XCTestCase {
1645
1648
XCTAssertFalse ( span. isEmpty)
1646
1649
XCTAssertEqual ( span. count, source. count)
1647
1650
XCTAssertEqual ( span [ 0 ] , 1 )
1651
+ #endif
1648
1652
}
1649
1653
1650
1654
@available ( FoundationSpan 6 . 2 , * )
1651
1655
func test_InlineSliceDataSpan( ) throws {
1656
+ #if compiler(<6.2)
1657
+ throw XCTSkip ( " Span not available " )
1658
+ #else
1652
1659
let source = Data ( 0 ... . max)
1653
1660
let span = source. span
1654
1661
XCTAssertEqual ( span. count, source. count)
1655
1662
XCTAssertEqual ( span [ span. indices. last!] , . max)
1663
+ #endif
1656
1664
}
1657
1665
1658
1666
@available ( FoundationSpan 6 . 2 , * )
1659
1667
func test_LargeSliceDataSpan( ) throws {
1668
+ #if compiler(<6.2)
1669
+ throw XCTSkip ( " Span not available " )
1670
+ #else
1660
1671
#if _pointerBitWidth(_64)
1661
1672
let count = Int ( Int32 . max)
1662
1673
#elseif _pointerBitWidth(_32)
@@ -1669,10 +1680,14 @@ class DataTests : XCTestCase {
1669
1680
XCTAssertNotEqual ( source. startIndex, 0 )
1670
1681
let span = source. span
1671
1682
XCTAssertFalse ( span. isEmpty)
1683
+ #endif
1672
1684
}
1673
1685
1674
1686
@available ( FoundationSpan 6 . 2 , * )
1675
1687
func test_InlineDataMutableSpan( ) throws {
1688
+ #if compiler(<6.2)
1689
+ throw XCTSkip ( " Span not available " )
1690
+ #else
1676
1691
var source = Data ( )
1677
1692
var span = source. mutableSpan
1678
1693
XCTAssertTrue ( span. isEmpty)
@@ -1686,28 +1701,36 @@ class DataTests : XCTestCase {
1686
1701
let v = UInt8 . random ( in: 10 ..< 100 )
1687
1702
span [ i] = v
1688
1703
XCTAssertEqual ( source [ i] , v)
1704
+ #endif
1689
1705
}
1690
1706
1691
1707
@available ( FoundationSpan 6 . 2 , * )
1692
1708
func test_InlineSliceDataMutableSpan( ) throws {
1709
+ #if compiler(<6.2)
1710
+ throw XCTSkip ( " Span not available " )
1711
+ #else
1693
1712
var source = Data ( 0 ..< 100 )
1694
1713
let count = source. count
1695
1714
var span = source. mutableSpan
1696
1715
XCTAssertEqual ( span. count, count)
1697
1716
let i = try XCTUnwrap ( span. indices. randomElement ( ) )
1698
1717
span [ i] = . max
1699
1718
XCTAssertEqual ( source [ i] , . max)
1719
+ #endif
1700
1720
}
1701
1721
1702
1722
@available ( FoundationSpan 6 . 2 , * )
1703
1723
func test_LargeSliceDataMutableSpan( ) throws {
1704
- #if _pointerBitWidth(_64)
1724
+ #if compiler(<6.2)
1725
+ throw XCTSkip ( " Span not available " )
1726
+ #else
1727
+ #if _pointerBitWidth(_64)
1705
1728
var count = Int ( Int32 . max)
1706
- #elseif _pointerBitWidth(_32)
1729
+ #elseif _pointerBitWidth(_32)
1707
1730
var count = Int ( Int16 . max)
1708
- #else
1731
+ #else
1709
1732
#error("This test needs updating")
1710
- #endif
1733
+ #endif
1711
1734
1712
1735
var source = Data ( repeating: 0 , count: count) . dropFirst ( )
1713
1736
XCTAssertNotEqual ( source. startIndex, 0 )
@@ -1718,10 +1741,14 @@ class DataTests : XCTestCase {
1718
1741
span [ i] = . max
1719
1742
XCTAssertEqual ( source [ i] , 0 )
1720
1743
XCTAssertEqual ( source [ i+ 1 ] , . max)
1744
+ #endif
1721
1745
}
1722
1746
1723
1747
@available ( FoundationSpan 6 . 2 , * )
1724
1748
func test_InlineDataMutableRawSpan( ) throws {
1749
+ #if compiler(<6.2)
1750
+ throw XCTSkip ( " Span not available " )
1751
+ #else
1725
1752
var source = Data ( )
1726
1753
var span = source. mutableBytes
1727
1754
XCTAssertTrue ( span. isEmpty)
@@ -1735,21 +1762,29 @@ class DataTests : XCTestCase {
1735
1762
let v = UInt8 . random ( in: 10 ..< 100 )
1736
1763
span. storeBytes ( of: v, toByteOffset: i, as: UInt8 . self)
1737
1764
XCTAssertEqual ( source [ i] , v)
1765
+ #endif
1738
1766
}
1739
1767
1740
1768
@available ( FoundationSpan 6 . 2 , * )
1741
1769
func test_InlineSliceDataMutableRawSpan( ) throws {
1770
+ #if compiler(<6.2)
1771
+ throw XCTSkip ( " Span not available " )
1772
+ #else
1742
1773
var source = Data ( 0 ..< 100 )
1743
1774
let count = source. count
1744
1775
var span = source. mutableBytes
1745
1776
XCTAssertEqual ( span. byteCount, count)
1746
1777
let i = try XCTUnwrap ( span. byteOffsets. randomElement ( ) )
1747
1778
span. storeBytes ( of: - 1 , toByteOffset: i, as: Int8 . self)
1748
1779
XCTAssertEqual ( source [ i] , . max)
1780
+ #endif
1749
1781
}
1750
1782
1751
1783
@available ( FoundationSpan 6 . 2 , * )
1752
1784
func test_LargeSliceDataMutableRawSpan( ) throws {
1785
+ #if compiler(<6.2)
1786
+ throw XCTSkip ( " Span not available " )
1787
+ #else
1753
1788
#if _pointerBitWidth(_64)
1754
1789
var count = Int ( Int32 . max)
1755
1790
#elseif _pointerBitWidth(_32)
@@ -1767,6 +1802,7 @@ class DataTests : XCTestCase {
1767
1802
span. storeBytes ( of: - 1 , toByteOffset: i, as: Int8 . self)
1768
1803
XCTAssertEqual ( source [ i] , 0 )
1769
1804
XCTAssertEqual ( source [ i+ 1 ] , . max)
1805
+ #endif
1770
1806
}
1771
1807
1772
1808
#if false // FIXME: XCTest doesn't support crash tests yet rdar://20195010&22387653
0 commit comments