   }
   private func tryTouchingBoth(checkDiagnostics: Bool = false,
                        extraArguments: [String] = []
- ) {
+ ) throws {
     touch("main")
     touch("other")
-    try! doABuild(
+    try doABuild(
       "non-propagating, both touched",
       checkDiagnostics: checkDiagnostics,
       extraArguments: extraArguments,

  }
  private func tryNoChange(checkDiagnostics: Bool = false,
                   extraArguments: [String] = []
  ) {
    try! doABuild(
      "no-change",
      checkDiagnostics: checkDiagnostics,
      extraArguments: extraArguments,

      let absPostCompileOutput = try XCTUnwrap(postCompileOutput.file.absolutePath)
      try localFileSystem.removeFileTree(absPostCompileOutput)
      XCTAssertFalse(localFileSystem.exists(absPostCompileOutput))
      try tryNoChange()
      XCTAssertTrue(localFileSystem.exists(absPostCompileOutput))
    }
    #endif
