diff --git a/test-outofproc/TriggerWithException.cs b/test-outofproc/TriggerWithException.cs
index e2d529d8a..6f4560ad2 100644
--- a/test-outofproc/TriggerWithException.cs
+++ b/test-outofproc/TriggerWithException.cs
@@ -32,6 +32,7 @@ public static void Run(
throw new InvalidOperationException(ExceptionMessage);
}
logger.LogInformation("SQL Changes: " + Utils.JsonSerializeObject(changes));
+
}
}
}
diff --git a/test/Integration/SqlTriggerBindingIntegrationTests.cs b/test/Integration/SqlTriggerBindingIntegrationTests.cs
index 92646f3fd..4d735b409 100644
--- a/test/Integration/SqlTriggerBindingIntegrationTests.cs
+++ b/test/Integration/SqlTriggerBindingIntegrationTests.cs
@@ -578,11 +578,13 @@ public void UnsupportedDatabaseThrows(SupportedLanguages lang)
///
/// Tests that when a user function throws an exception we'll retry executing that function once the lease timeout expires
///
- [Fact]
- public async Task FunctionExceptionsCauseRetry()
+ [RetryTheory]
+ [SqlInlineData()]
+ [UnsupportedLanguages(SupportedLanguages.JavaScript, SupportedLanguages.Python, SupportedLanguages.PowerShell, SupportedLanguages.Csx, SupportedLanguages.Java)] // Keeping static state for threwException across calls is only valid for C# and Java.
+ public async Task FunctionExceptionsCauseRetry(SupportedLanguages lang)
{
this.SetChangeTrackingForTable("Products");
- this.StartFunctionHost(nameof(TriggerWithException), SupportedLanguages.CSharp, true);
+ this.StartFunctionHost(nameof(TriggerWithException), lang, useTestFolder: true);
TaskCompletionSource taskCompletionSource = new();
void TestExceptionMessageSeen(object sender, DataReceivedEventArgs e)
{
@@ -605,7 +607,7 @@ void TestExceptionMessageSeen(object sender, DataReceivedEventArgs e)
(SqlTableChangeMonitor