diff --git a/eng/pipelines/coreclr/interpreter.yml b/eng/pipelines/coreclr/interpreter.yml
index 0c7196aa7c712a..fbb9e4df9f5898 100644
--- a/eng/pipelines/coreclr/interpreter.yml
+++ b/eng/pipelines/coreclr/interpreter.yml
@@ -78,6 +78,11 @@ extends:
- osx_arm64
helixQueueGroup: ci
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
+ variables:
+ - name: timeoutPerTestInMinutes
+ value: 20
+ - name: timeoutPerTestCollectionInMinutes
+ value: 180
jobParameters:
testGroup: outerloop
runInterpreter: true
diff --git a/src/libraries/sendtohelixhelp.proj b/src/libraries/sendtohelixhelp.proj
index 5b7d08b155b1c7..50249bdff8ff95 100644
--- a/src/libraries/sendtohelixhelp.proj
+++ b/src/libraries/sendtohelixhelp.proj
@@ -37,6 +37,7 @@
'$(Scenario)' == 'gcstress0xc_jitstress1' or
'$(Scenario)' == 'gcstress0xc_jitstress2' or
'$(Scenario)' == 'gcstress0xc_jitminopts_heapverify1'">06:00:00
+ <_workItemTimeout Condition="'$(_workItemTimeout)' == '' and '$(Scenario)' == 'interpmode3'">01:30:00
<_workItemTimeout Condition="'$(_workItemTimeout)' == '' and '$(TargetsAppleMobile)' == 'true'">01:15:00
<_workItemTimeout Condition="'$(_workItemTimeout)' == '' and '$(TargetOS)' == 'android'">00:30:00
<_workItemTimeout Condition="'$(_workItemTimeout)' == '' and '$(TargetOS)' == 'browser' and '$(RuntimeFlavor)' == 'CoreCLR'">01:30:00
diff --git a/src/tests/Interop/CMakeLists.txt b/src/tests/Interop/CMakeLists.txt
index b28f6629188dbb..b2d1de0b3f9c1c 100644
--- a/src/tests/Interop/CMakeLists.txt
+++ b/src/tests/Interop/CMakeLists.txt
@@ -101,12 +101,12 @@ endif(CLR_CMAKE_TARGET_WIN32)
if(CLR_CMAKE_TARGET_APPLE)
add_subdirectory(ObjectiveC/AutoReleaseTest)
add_subdirectory(ObjectiveC/ObjectiveCMarshalAPI)
- add_subdirectory(Swift/SwiftAbiStress)
- add_subdirectory(Swift/SwiftCallbackAbiStress)
- add_subdirectory(Swift/SwiftErrorHandling)
- add_subdirectory(Swift/SwiftIndirectResult)
- add_subdirectory(Swift/SwiftInvalidCallConv)
- add_subdirectory(Swift/SwiftRetAbiStress)
- add_subdirectory(Swift/SwiftSelfContext)
- add_subdirectory(Swift/SwiftInlineArray)
+ add_subdirectory(Swift/SwiftAbiStress)
+ add_subdirectory(Swift/SwiftCallbackAbiStress)
+ add_subdirectory(Swift/SwiftErrorHandling)
+ add_subdirectory(Swift/SwiftIndirectResult)
+ add_subdirectory(Swift/SwiftInvalidCallConv)
+ add_subdirectory(Swift/SwiftRetAbiStress)
+ add_subdirectory(Swift/SwiftSelfContext)
+ add_subdirectory(Swift/SwiftInlineArray)
endif()
diff --git a/src/tests/Interop/Swift/Directory.Build.props b/src/tests/Interop/Swift/Directory.Build.props
new file mode 100644
index 00000000000000..e9a6eb3a720c85
--- /dev/null
+++ b/src/tests/Interop/Swift/Directory.Build.props
@@ -0,0 +1,8 @@
+
+
+
+
+ true
+ true
+
+
diff --git a/src/tests/Interop/Swift/SwiftAbiStress/SwiftAbiStress.csproj b/src/tests/Interop/Swift/SwiftAbiStress/SwiftAbiStress.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftAbiStress/SwiftAbiStress.csproj
+++ b/src/tests/Interop/Swift/SwiftAbiStress/SwiftAbiStress.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftCallbackAbiStress/SwiftCallbackAbiStress.csproj b/src/tests/Interop/Swift/SwiftCallbackAbiStress/SwiftCallbackAbiStress.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftCallbackAbiStress/SwiftCallbackAbiStress.csproj
+++ b/src/tests/Interop/Swift/SwiftCallbackAbiStress/SwiftCallbackAbiStress.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftErrorHandling/SwiftErrorHandling.csproj b/src/tests/Interop/Swift/SwiftErrorHandling/SwiftErrorHandling.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftErrorHandling/SwiftErrorHandling.csproj
+++ b/src/tests/Interop/Swift/SwiftErrorHandling/SwiftErrorHandling.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftIndirectResult/SwiftIndirectResult.csproj b/src/tests/Interop/Swift/SwiftIndirectResult/SwiftIndirectResult.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftIndirectResult/SwiftIndirectResult.csproj
+++ b/src/tests/Interop/Swift/SwiftIndirectResult/SwiftIndirectResult.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftInlineArray/SwiftInlineArray.csproj b/src/tests/Interop/Swift/SwiftInlineArray/SwiftInlineArray.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftInlineArray/SwiftInlineArray.csproj
+++ b/src/tests/Interop/Swift/SwiftInlineArray/SwiftInlineArray.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftInvalidCallConv/SwiftInvalidCallConv.csproj b/src/tests/Interop/Swift/SwiftInvalidCallConv/SwiftInvalidCallConv.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftInvalidCallConv/SwiftInvalidCallConv.csproj
+++ b/src/tests/Interop/Swift/SwiftInvalidCallConv/SwiftInvalidCallConv.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftRetAbiStress/SwiftRetAbiStress.csproj b/src/tests/Interop/Swift/SwiftRetAbiStress/SwiftRetAbiStress.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftRetAbiStress/SwiftRetAbiStress.csproj
+++ b/src/tests/Interop/Swift/SwiftRetAbiStress/SwiftRetAbiStress.csproj
@@ -3,8 +3,6 @@
true
true
-
- true
diff --git a/src/tests/Interop/Swift/SwiftSelfContext/SwiftSelfContext.csproj b/src/tests/Interop/Swift/SwiftSelfContext/SwiftSelfContext.csproj
index 89eda99352fd20..edf38fa91a3f66 100644
--- a/src/tests/Interop/Swift/SwiftSelfContext/SwiftSelfContext.csproj
+++ b/src/tests/Interop/Swift/SwiftSelfContext/SwiftSelfContext.csproj
@@ -3,8 +3,6 @@
true
true
-
- true