Skip to content
Permalink
Browse files

Imported files created by `swift package init --type executable`.

  • Loading branch information...
artob committed Mar 22, 2019
1 parent 522a67e commit 85d3c6e6bf3deac758da676ef729ef9ca912817f
@@ -6,3 +6,9 @@

# rst2html outputs
*.html

# Swift package .gitignore
.DS_Store
/.build
/Packages
/*.xcodeproj
@@ -0,0 +1,22 @@
// swift-tools-version:5.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription

let package = Package(
name: "DRYgen",
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "DRYgen",
dependencies: []),
.testTarget(
name: "DRYgenTests",
dependencies: ["DRYgen"]),
]
)
@@ -0,0 +1 @@
print("Hello, world!")
@@ -0,0 +1,47 @@
import XCTest
import class Foundation.Bundle

final class DRYgenTests: XCTestCase {
func testExample() throws {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct
// results.
// Some of the APIs that we use below are available in macOS 10.13 and above.
guard #available(macOS 10.13, *) else {
return
}

let fooBinary = productsDirectory.appendingPathComponent("DRYgen")

let process = Process()
process.executableURL = fooBinary

let pipe = Pipe()
process.standardOutput = pipe

try process.run()
process.waitUntilExit()

let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: data, encoding: .utf8)

XCTAssertEqual(output, "Hello, world!\n")
}

/// Returns path to the built products directory.
var productsDirectory: URL {
#if os(macOS)
for bundle in Bundle.allBundles where bundle.bundlePath.hasSuffix(".xctest") {
return bundle.bundleURL.deletingLastPathComponent()
}
fatalError("couldn't find the products directory")
#else
return Bundle.main.bundleURL
#endif
}

static var allTests = [
("testExample", testExample),
]
}
@@ -0,0 +1,9 @@
import XCTest

#if !canImport(ObjectiveC)
public func allTests() -> [XCTestCaseEntry] {
return [
testCase(DRYgenTests.allTests),
]
}
#endif
@@ -0,0 +1,7 @@
import XCTest

import DRYgenTests

var tests = [XCTestCaseEntry]()
tests += DRYgenTests.allTests()
XCTMain(tests)

0 comments on commit 85d3c6e

Please sign in to comment.
You can’t perform that action at this time.