mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge pull request #84482 from eeckstein/smallprojectionpath-tests
SIL: use `Test` for the SmallProjectionPath's unit tests
This commit is contained in:
@@ -150,7 +150,6 @@ private func registerSwiftPasses() {
|
|||||||
registerPass(deadEndBlockDumper, { deadEndBlockDumper.run($0) })
|
registerPass(deadEndBlockDumper, { deadEndBlockDumper.run($0) })
|
||||||
registerPass(memBehaviorDumper, { memBehaviorDumper.run($0) })
|
registerPass(memBehaviorDumper, { memBehaviorDumper.run($0) })
|
||||||
registerPass(rangeDumper, { rangeDumper.run($0) })
|
registerPass(rangeDumper, { rangeDumper.run($0) })
|
||||||
registerPass(runUnitTests, { runUnitTests.run($0) })
|
|
||||||
registerPass(testInstructionIteration, { testInstructionIteration.run($0) })
|
registerPass(testInstructionIteration, { testInstructionIteration.run($0) })
|
||||||
registerPass(updateBorrowedFromPass, { updateBorrowedFromPass.run($0) })
|
registerPass(updateBorrowedFromPass, { updateBorrowedFromPass.run($0) })
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ swift_compiler_sources(Optimizer
|
|||||||
MemBehaviorDumper.swift
|
MemBehaviorDumper.swift
|
||||||
SILPrinter.swift
|
SILPrinter.swift
|
||||||
RangeDumper.swift
|
RangeDumper.swift
|
||||||
RunUnitTests.swift
|
|
||||||
UpdateBorrowedFrom.swift
|
UpdateBorrowedFrom.swift
|
||||||
TestInstructionIteration.swift
|
TestInstructionIteration.swift
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
//===--- UnitTests.swift - A pseudo pass for running the unit tests -------===//
|
|
||||||
//
|
|
||||||
// This source file is part of the Swift.org open source project
|
|
||||||
//
|
|
||||||
// Copyright (c) 2014 - 2021 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 SIL
|
|
||||||
|
|
||||||
/// This pass should only be used by sil-opt to run all the unit tests.
|
|
||||||
///
|
|
||||||
let runUnitTests = ModulePass(name: "run-unit-tests") {
|
|
||||||
(context: ModulePassContext) in
|
|
||||||
|
|
||||||
print("--- Run unit tests ---")
|
|
||||||
|
|
||||||
print("test ProjectionPath")
|
|
||||||
SmallProjectionPath.runUnitTests()
|
|
||||||
}
|
|
||||||
@@ -680,8 +680,8 @@ extension StringParser {
|
|||||||
// Unit Tests
|
// Unit Tests
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
extension SmallProjectionPath {
|
let smallProjectionPathTest = Test("small_projection_path") {
|
||||||
public static func runUnitTests() {
|
function, arguments, context in
|
||||||
|
|
||||||
basicPushPop()
|
basicPushPop()
|
||||||
parsing()
|
parsing()
|
||||||
@@ -983,5 +983,4 @@ extension SmallProjectionPath {
|
|||||||
let (k4, _, s4) = p4.pop()
|
let (k4, _, s4) = p4.pop()
|
||||||
assert(k4 == .anyIndexedElement && s4.isEmpty)
|
assert(k4 == .anyIndexedElement && s4.isEmpty)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,6 +142,7 @@ public func registerTests() {
|
|||||||
// Register each test.
|
// Register each test.
|
||||||
registerTests(
|
registerTests(
|
||||||
parseTestSpecificationTest,
|
parseTestSpecificationTest,
|
||||||
|
smallProjectionPathTest,
|
||||||
getAccessBaseTest,
|
getAccessBaseTest,
|
||||||
borrowIntroducersTest,
|
borrowIntroducersTest,
|
||||||
enclosingValuesTest,
|
enclosingValuesTest,
|
||||||
|
|||||||
@@ -163,8 +163,6 @@ MODULE_PASS(MandatoryAllocBoxToStack, "mandatory-allocbox-to-stack",
|
|||||||
"Mandatory stack promotion of box objects")
|
"Mandatory stack promotion of box objects")
|
||||||
MODULE_PASS(AsyncDemotion, "async-demotion",
|
MODULE_PASS(AsyncDemotion, "async-demotion",
|
||||||
"Convert async functions to be synchronous")
|
"Convert async functions to be synchronous")
|
||||||
MODULE_PASS(RunUnitTests, "run-unit-tests",
|
|
||||||
"Runs the compiler internal unit tests")
|
|
||||||
MODULE_PASS(FunctionUsesDumper, "dump-function-uses",
|
MODULE_PASS(FunctionUsesDumper, "dump-function-uses",
|
||||||
"Dump the results of FunctionUses")
|
"Dump the results of FunctionUses")
|
||||||
MODULE_PASS(MandatoryPerformanceOptimizations, "mandatory-performance-optimizations",
|
MODULE_PASS(MandatoryPerformanceOptimizations, "mandatory-performance-optimizations",
|
||||||
|
|||||||
9
test/SILOptimizer/small_projection_path_unit.sil
Normal file
9
test/SILOptimizer/small_projection_path_unit.sil
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
// RUN: %target-sil-opt -test-runner -sil-disable-input-verify %s -o /dev/null
|
||||||
|
|
||||||
|
sil_stage raw
|
||||||
|
|
||||||
|
sil @small_projection_path_unit_tests : $@convention(thin) () -> () {
|
||||||
|
bb0:
|
||||||
|
specify_test "small_projection_path"
|
||||||
|
unreachable
|
||||||
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
// RUN: %target-sil-opt %s -run-unit-tests -o /dev/null
|
|
||||||
|
|
||||||
// REQUIRES: swift_in_compiler
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user