Files
sourcekit-lsp/Tests/BuildServerIntegrationTests/CompilationDatabasePerfTests.swift
Alex Hoppen 7f4f92e5bd Rename build system to build server in most cases
The term *build system* predated our wide-spread adoption of BSP for communicating between SourceKit-LSP to the build system and was never really the correct term anyway – ie. a `JSONCompilationDatabaseBuildSystem` never really sounded right. We now have a correct term for the communication layer between SourceKit-LSP: A build server. Rename most occurrences of *build system* to *build server* to reflect this. There are unfortunately a couple lingering instances of *build system* that we can’t change, most notably: `fallbackBuildSystem` in the config file, the `workspace/waitForBuildSystemUpdates` BSP extension request and the `synchronize-for-build-system-updates` experimental feature.
2025-08-02 08:45:01 +02:00

41 lines
1.2 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
import BuildServerIntegration
import LanguageServerProtocol
import SKTestSupport
import TSCBasic
import XCTest
final class CompilationDatabasePerfTests: PerfTestCase {
func testSplitShellEscapedCommand() {
var input = "asdf"
for i in 0..<10000 {
if i % 10 == 9 {
input += " \"foo\(i) \""
} else if i % 10 == 6 {
input += " fo\'o\(i) \'"
} else if i % 3 == 0 {
input += " foo\(i)-------a-long--string-of---------stuff"
} else {
input += " foo\(i)"
}
}
XCTAssertEqual(splitShellEscapedCommand(input).count, 10001)
self.measure {
_ = splitShellEscapedCommand(input)
}
}
}