     }
 }
 
+fileprivate func loadSpec(path: Path, file: String = #file, line: Int = #line) throws -> Project {
+    do {
+        let specLoader = SpecLoader(version: "1.1.0")
+        return try specLoader.loadProject(path: path)
+    } catch {
+        throw failure("\(error)", file: file, line: line)
+    }
+}
+
 fileprivate func expectSpecError(_ project: [String: Any], _ expectedError: SpecParsingError, file: String = #file, line: Int = #line) throws {
     try expectError(expectedError, file: file, line: line) {
         try getProjectSpec(project)


            $0.it("expands directories") {
                let path = fixturePath + "paths_test.yml"
                let project = try Project(path: path)

                try expect(project.configFiles) == [
                    "IncludedConfig": "paths_test/config",

        describe {
            $0.it("merges includes") {
                let path = fixturePath + "include_test.json"
                let project = try loadSpec(path: path)

                try expect(project.name) == "NewName"
                try expect(project.settingGroups) == [
