@@ -68,4 +68,62 @@ extension Trait where Self == Testing.ConditionTrait {
68
68
. map { String ( decoding: $0, as: UTF8 . self) == " Amazon Linux release 2 (Karoo) \n " } ?? false
69
69
}
70
70
}
71
+
72
+ /// Skips the test if running on a platform which lacks the ability for build tasks to set a working directory due to lack of requisite system API.
73
+ ///
74
+ /// Presently, relevant platforms include Amazon Linux 2 and OpenBSD.
75
+ ///
76
+ /// - seealso: https://github.com/swiftlang/swift-package-manager/issues/8560
77
+ public static var disableIfWorkingDirectoryUnsupported : Self {
78
+ disabled ( " https://github.com/swiftlang/swift-package-manager/issues/8560: Thread-safe process working directory support is unavailable on this platform. " ) {
79
+ !workingDirectoryIsSupported( )
80
+ }
81
+ }
82
+ }
83
+
84
+ extension Trait where Self == Testing . Bug {
85
+ public static func SWBINTTODO( _ comment: Comment ) -> Self {
86
+ bug ( nil , id: 0 , comment)
87
+ }
88
+ }
89
+ extension Tag {
90
+ public enum TestSize { }
91
+ public enum Feature { }
92
+ @Tag public static var UserWorkflow : Tag
93
+ }
94
+
95
+ extension Tag . TestSize {
96
+ @Tag public static var small : Tag
97
+ @Tag public static var medium : Tag
98
+ @Tag public static var large : Tag
99
+ }
100
+
101
+ extension Tag . Feature {
102
+ public enum Command { }
103
+ public enum PackageType { }
104
+
105
+ @Tag public static var CodeCoverage : Tag
106
+ @Tag public static var Resource : Tag
107
+ @Tag public static var SpecialCharacters : Tag
108
+ }
109
+
110
+
111
+ extension Tag . Feature . Command {
112
+ public enum Package { }
113
+ @Tag public static var Build : Tag
114
+ @Tag public static var Test : Tag
115
+ @Tag public static var Run : Tag
116
+ }
117
+
118
+ extension Tag . Feature . Command . Package {
119
+ @Tag public static var Init : Tag
71
120
}
121
+ extension Tag . Feature . PackageType {
122
+ @Tag public static var Library : Tag
123
+ @Tag public static var Executable : Tag
124
+ @Tag public static var Tool : Tag
125
+ @Tag public static var Plugin : Tag
126
+ @Tag public static var BuildToolPlugin : Tag
127
+ @Tag public static var CommandPlugin : Tag
128
+ @Tag public static var Macro : Tag
129
+ }
0 commit comments