 }
 
 let maxNumberOfAttemptsWithoutProgress = 5
-let deviceSpecs = [
-    (name: "iPhone 5", version: "8.1"),
-    (name: "iPad 2", version: "8.1"),
-]
 
 extension NSTask {
     func setStartsNewProcessGroup(flag: Bool) {

                    }
                    
                    let failedTests = testFailuresByRunningTests(remainingTests, onDestination: device.destination)
                    if failedTests.count < remainingTests.count {
                        numberOfAttemptsWithoutProgress = 0
                    } else {
                        ++numberOfAttemptsWithoutProgress
                    }
                    
                    if !failedTests.isEmpty {
                        printMessage("\(failedTests.count) test(s) FAILED on \(device.description) (\(attemptDescription))")
                    }
                    
                    remainingTests = failedTests

        func testFailuresByRunningTests(tests: [Test], onDestination destination: String) -> [Test] {
            NSFileManager.defaultManager().removeItemAtPath(streamJSONPath, error: nil)
            
            exec(xctoolPath, "-workspace", workspace, "-scheme", scheme, "-sdk", "iphonesimulator", "-destination", destination, "CONFIGURATION_BUILD_DIR=\(buildPath)", "run-tests", "-freshSimulator", "-resetSimulator", "-only", xctoolArgumentFromTests(tests, inTarget: target), "-reporter", "pretty", "-reporter", "json-stream:\(streamJSONPath)")
            
            if let streamJSON = NSString(contentsOfFile: streamJSONPath, encoding: NSUTF8StringEncoding, error: nil) {
                var testFailures: [Test] = tests
