summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
Diffstat (limited to 'Tests')
-rw-r--r--Tests/RunCMake/CMakePresets/NoDebug-stdout.txt4
-rw-r--r--Tests/RunCMake/Configure/CopyFileABI-stdout.txt4
-rw-r--r--Tests/RunCMake/Configure/ErrorLogs-result.txt1
-rw-r--r--Tests/RunCMake/Configure/ErrorLogs-stderr.txt4
-rw-r--r--Tests/RunCMake/Configure/ErrorLogs-stdout.txt3
-rw-r--r--Tests/RunCMake/Configure/ErrorLogs.cmake5
-rw-r--r--Tests/RunCMake/Configure/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-config-ninja-stdout.txt4
-rw-r--r--Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-noconfig-ninja-stdout.txt4
-rw-r--r--Tests/RunCMake/Swift/NoWorkToDo.cmake5
-rw-r--r--Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt4
-rw-r--r--Tests/RunCMake/configure_file/RerunCMake-stdout.txt4
-rw-r--r--Tests/RunCMake/try_compile/RerunCMake-rerun-ninja-no-console-stdout.txt4
-rw-r--r--Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt4
-rw-r--r--Tests/RunCMake/try_compile/RerunCMake-stdout.txt4
-rw-r--r--Tests/SwiftOnly/CMakeLists.txt11
-rw-r--r--Tests/SwiftOnly/SwiftPlugin/CMakeLists.txt5
-rw-r--r--Tests/SwiftOnly/SwiftPlugin/main.swift4
-rw-r--r--Tests/SwiftOnly/SwiftPlugin/plugin.swift3
19 files changed, 45 insertions, 33 deletions
diff --git a/Tests/RunCMake/CMakePresets/NoDebug-stdout.txt b/Tests/RunCMake/CMakePresets/NoDebug-stdout.txt
index c23ab89..f32056a 100644
--- a/Tests/RunCMake/CMakePresets/NoDebug-stdout.txt
+++ b/Tests/RunCMake/CMakePresets/NoDebug-stdout.txt
@@ -1,2 +1,2 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
diff --git a/Tests/RunCMake/Configure/CopyFileABI-stdout.txt b/Tests/RunCMake/Configure/CopyFileABI-stdout.txt
index 6a856a4..2176554 100644
--- a/Tests/RunCMake/Configure/CopyFileABI-stdout.txt
+++ b/Tests/RunCMake/Configure/CopyFileABI-stdout.txt
@@ -1,4 +1,4 @@
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done.*
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
diff --git a/Tests/RunCMake/Configure/ErrorLogs-result.txt b/Tests/RunCMake/Configure/ErrorLogs-result.txt
deleted file mode 100644
index d00491f..0000000
--- a/Tests/RunCMake/Configure/ErrorLogs-result.txt
+++ /dev/null
@@ -1 +0,0 @@
-1
diff --git a/Tests/RunCMake/Configure/ErrorLogs-stderr.txt b/Tests/RunCMake/Configure/ErrorLogs-stderr.txt
deleted file mode 100644
index ec8c8c2..0000000
--- a/Tests/RunCMake/Configure/ErrorLogs-stderr.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-CMake Error at ErrorLogs.cmake:[0-9]+ \(message\):
- Some error!
-Call Stack \(most recent call first\):
- CMakeLists.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/Configure/ErrorLogs-stdout.txt b/Tests/RunCMake/Configure/ErrorLogs-stdout.txt
deleted file mode 100644
index c467b62..0000000
--- a/Tests/RunCMake/Configure/ErrorLogs-stdout.txt
+++ /dev/null
@@ -1,3 +0,0 @@
--- Configuring incomplete, errors occurred!
-See also ".*/Tests/RunCMake/Configure/ErrorLogs-build/CMakeFiles/CMakeOutput\.log"\.
-See also ".*/Tests/RunCMake/Configure/ErrorLogs-build/CMakeFiles/CMakeError\.log"\.
diff --git a/Tests/RunCMake/Configure/ErrorLogs.cmake b/Tests/RunCMake/Configure/ErrorLogs.cmake
deleted file mode 100644
index 3a9d107..0000000
--- a/Tests/RunCMake/Configure/ErrorLogs.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Some detailed output information!\n")
-file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Some detailed error information!\n")
-message(SEND_ERROR "Some error!")
diff --git a/Tests/RunCMake/Configure/RunCMakeTest.cmake b/Tests/RunCMake/Configure/RunCMakeTest.cmake
index 750fa3c..df6849e 100644
--- a/Tests/RunCMake/Configure/RunCMakeTest.cmake
+++ b/Tests/RunCMake/Configure/RunCMakeTest.cmake
@@ -3,7 +3,6 @@ include(RunCMake)
run_cmake(ContinueAfterError)
run_cmake(CopyFileABI)
run_cmake(CustomTargetAfterError)
-run_cmake(ErrorLogs)
# Use a single build tree for a few tests without cleaning.
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-build)
diff --git a/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-config-ninja-stdout.txt b/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-config-ninja-stdout.txt
index 8877451..8c1c301 100644
--- a/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-config-ninja-stdout.txt
+++ b/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-config-ninja-stdout.txt
@@ -1,4 +1,4 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: [^
]*/Tests/RunCMake/NinjaMultiConfig/Simple-build
diff --git a/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-noconfig-ninja-stdout.txt b/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-noconfig-ninja-stdout.txt
index 8877451..8c1c301 100644
--- a/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-noconfig-ninja-stdout.txt
+++ b/Tests/RunCMake/NinjaMultiConfig/Simple-reconfigure-noconfig-ninja-stdout.txt
@@ -1,4 +1,4 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: [^
]*/Tests/RunCMake/NinjaMultiConfig/Simple-build
diff --git a/Tests/RunCMake/Swift/NoWorkToDo.cmake b/Tests/RunCMake/Swift/NoWorkToDo.cmake
index e86a861..51c2ff3 100644
--- a/Tests/RunCMake/Swift/NoWorkToDo.cmake
+++ b/Tests/RunCMake/Swift/NoWorkToDo.cmake
@@ -1,2 +1,5 @@
enable_language(Swift)
-add_executable(hello hello.swift)
+add_executable(hello1 hello.swift)
+set_target_properties(hello1 PROPERTIES ENABLE_EXPORTS TRUE)
+
+add_executable(hello2 hello.swift)
diff --git a/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt b/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt
index 34c873c..9f4f24e 100644
--- a/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt
+++ b/Tests/RunCMake/configure_file/RerunCMake-rerun-stdout.txt
@@ -1,3 +1,3 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: .*/Tests/RunCMake/configure_file/RerunCMake-build
diff --git a/Tests/RunCMake/configure_file/RerunCMake-stdout.txt b/Tests/RunCMake/configure_file/RerunCMake-stdout.txt
index 34c873c..9f4f24e 100644
--- a/Tests/RunCMake/configure_file/RerunCMake-stdout.txt
+++ b/Tests/RunCMake/configure_file/RerunCMake-stdout.txt
@@ -1,3 +1,3 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: .*/Tests/RunCMake/configure_file/RerunCMake-build
diff --git a/Tests/RunCMake/try_compile/RerunCMake-rerun-ninja-no-console-stdout.txt b/Tests/RunCMake/try_compile/RerunCMake-rerun-ninja-no-console-stdout.txt
index b0438f5..a5ca781 100644
--- a/Tests/RunCMake/try_compile/RerunCMake-rerun-ninja-no-console-stdout.txt
+++ b/Tests/RunCMake/try_compile/RerunCMake-rerun-ninja-no-console-stdout.txt
@@ -1,5 +1,5 @@
Running CMake on RerunCMake
FALSE
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: .*/Tests/RunCMake/try_compile/RerunCMake-build
diff --git a/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt b/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt
index 9c78b26..e37d210 100644
--- a/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt
+++ b/Tests/RunCMake/try_compile/RerunCMake-rerun-stdout.txt
@@ -1,3 +1,3 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: .*/Tests/RunCMake/try_compile/RerunCMake-build
diff --git a/Tests/RunCMake/try_compile/RerunCMake-stdout.txt b/Tests/RunCMake/try_compile/RerunCMake-stdout.txt
index 9c78b26..e37d210 100644
--- a/Tests/RunCMake/try_compile/RerunCMake-stdout.txt
+++ b/Tests/RunCMake/try_compile/RerunCMake-stdout.txt
@@ -1,3 +1,3 @@
--- Configuring done
--- Generating done
+-- Configuring done \([0-9]+\.[0-9]s\)
+-- Generating done \([0-9]+\.[0-9]s\)
-- Build files have been written to: .*/Tests/RunCMake/try_compile/RerunCMake-build
diff --git a/Tests/SwiftOnly/CMakeLists.txt b/Tests/SwiftOnly/CMakeLists.txt
index fa8687d..13cf2b1 100644
--- a/Tests/SwiftOnly/CMakeLists.txt
+++ b/Tests/SwiftOnly/CMakeLists.txt
@@ -43,3 +43,14 @@ target_link_libraries(N PUBLIC
# Dummy to make sure generation works with such targets.
add_library(SwiftIface INTERFACE)
target_link_libraries(SwiftOnly PRIVATE SwiftIface)
+
+# @_alwaysEmitIntoClient ensures that the function body is inserted into the
+# swiftmodule instead of as a symbol in the binary itself. I'm doing this to
+# avoid having to link the executable. There are some flags required in order to
+# link an executable into a library that I didn't see CMake emitting for Swift
+# on macOS. AEIC is the easiest workaround that still tests this functionality.
+# Unfortunately, AEIC was only added recently (~Swift 5.2), so we need to check
+# that it is available before using it.
+if(CMAKE_Swift_COMPILER_VERSION VERSION_GREATER_EQUAL 5.2)
+ add_subdirectory("SwiftPlugin")
+endif()
diff --git a/Tests/SwiftOnly/SwiftPlugin/CMakeLists.txt b/Tests/SwiftOnly/SwiftPlugin/CMakeLists.txt
new file mode 100644
index 0000000..4069f16
--- /dev/null
+++ b/Tests/SwiftOnly/SwiftPlugin/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_executable(main main.swift)
+set_target_properties(main PROPERTIES ENABLE_EXPORTS TRUE)
+
+add_library(plugin plugin.swift)
+target_link_libraries(plugin PRIVATE main)
diff --git a/Tests/SwiftOnly/SwiftPlugin/main.swift b/Tests/SwiftOnly/SwiftPlugin/main.swift
new file mode 100644
index 0000000..f5aac51
--- /dev/null
+++ b/Tests/SwiftOnly/SwiftPlugin/main.swift
@@ -0,0 +1,4 @@
+@_alwaysEmitIntoClient
+public func exported() -> Int { 32 }
+
+print(exported())
diff --git a/Tests/SwiftOnly/SwiftPlugin/plugin.swift b/Tests/SwiftOnly/SwiftPlugin/plugin.swift
new file mode 100644
index 0000000..e84f248
--- /dev/null
+++ b/Tests/SwiftOnly/SwiftPlugin/plugin.swift
@@ -0,0 +1,3 @@
+import main
+
+public func importing() -> Int { main.exported() + 1 }