mirror of
https://github.com/yonaskolb/XcodeGen.git
synced 2026-03-18 20:02:25 +00:00
43e40a9efc
* wip * Added scheme management metadata properties to TargetScheme * wip * Added Scheme.Management for metadata * use sharedDefault * move generateSchemeManagement to SchemeGenerator * revert * update changelog * update docs * update test case * remove * remove unused file * revert * changed on fixtures project * Updated ProjectSpec docs index * User Scheme.Management also for TargetSchemes, use XCUserData * Changelog * Switch XcodeProj back tuist/XcodeProj - 8.9.0 * Reindent TOC Docs/ProjectSpec.md * Revert swift tools version --------- Co-authored-by: Tieme van Veen <tiemevanveen@hotmail.com>
82 lines
2.4 KiB
Swift
82 lines
2.4 KiB
Swift
import Foundation
|
|
import PathKit
|
|
import ProjectSpec
|
|
import XcodeGenKit
|
|
import XcodeProj
|
|
import XCTest
|
|
|
|
class GeneratedPerformanceTests: XCTestCase {
|
|
|
|
let basePath = Path.temporary + "XcodeGenPeformanceTests"
|
|
|
|
func testLoading() throws {
|
|
let project = try Project.testProject(basePath: basePath)
|
|
let specPath = basePath + "project.yaml"
|
|
try dumpYamlDictionary(project.toJSONDictionary(), path: specPath)
|
|
|
|
measure {
|
|
let spec = try! SpecFile(path: specPath,
|
|
variables: ProcessInfo.processInfo.environment)
|
|
_ = spec.resolvedDictionary()
|
|
}
|
|
}
|
|
|
|
func testGeneration() throws {
|
|
let project = try Project.testProject(basePath: basePath)
|
|
measure {
|
|
let generator = ProjectGenerator(project: project)
|
|
_ = try! generator.generateXcodeProject(userName: "someUser")
|
|
}
|
|
}
|
|
|
|
func testWriting() throws {
|
|
let project = try Project.testProject(basePath: basePath)
|
|
let generator = ProjectGenerator(project: project)
|
|
let xcodeProject = try generator.generateXcodeProject(userName: "someUser")
|
|
measure {
|
|
xcodeProject.pbxproj.invalidateUUIDs()
|
|
try! xcodeProject.write(path: project.defaultProjectPath)
|
|
}
|
|
}
|
|
}
|
|
|
|
let fixturePath = Path(#file).parent().parent() + "Fixtures"
|
|
|
|
class FixturePerformanceTests: XCTestCase {
|
|
|
|
let specPath = fixturePath + "TestProject/project.yml"
|
|
|
|
func testFixtureDecoding() throws {
|
|
measure {
|
|
_ = try! Project(path: specPath)
|
|
}
|
|
}
|
|
|
|
func testCacheFileGeneration() throws {
|
|
let specLoader = SpecLoader(version: "1.2")
|
|
_ = try specLoader.loadProject(path: specPath)
|
|
|
|
measure {
|
|
_ = try! specLoader.generateCacheFile()
|
|
}
|
|
}
|
|
|
|
func testFixtureGeneration() throws {
|
|
let project = try Project(path: specPath)
|
|
measure {
|
|
let generator = ProjectGenerator(project: project)
|
|
_ = try! generator.generateXcodeProject(userName: "someUser")
|
|
}
|
|
}
|
|
|
|
func testFixtureWriting() throws {
|
|
let project = try Project(path: specPath)
|
|
let generator = ProjectGenerator(project: project)
|
|
let xcodeProject = try generator.generateXcodeProject(userName: "someUser")
|
|
measure {
|
|
xcodeProject.pbxproj.invalidateUUIDs()
|
|
try! xcodeProject.write(path: project.defaultProjectPath)
|
|
}
|
|
}
|
|
}
|