Skip to content

Commit 0ec7af1

Browse files
authored
Fail tests that run for more than 10 minutes (#3906)
1 parent f14c06e commit 0ec7af1

File tree

7 files changed

+153
-10
lines changed

7 files changed

+153
-10
lines changed

build.proj

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,9 @@
201201
--results-directory $(ResultsDirectory)
202202
--filter "$(FilterStatement)"
203203
--logger:"trx;LogFilePrefix=Unit-Windows$(TargetGroup)-$(TestSet)"
204+
--blame-hang
205+
--blame-hang-dump-type full
206+
--blame-hang-timeout 10m
204207
</TestCommand>
205208
<!-- Convert more than one whitespace character into one space -->
206209
<TestCommand>$([System.Text.RegularExpressions.Regex]::Replace($(TestCommand), "\s+", " "))</TestCommand>
@@ -220,6 +223,9 @@
220223
--results-directory $(ResultsDirectory)
221224
--filter "$(FilterStatement)"
222225
--logger:"trx;LogFilePrefix=Unit-Unixnetcoreapp-$(TestSet)"
226+
--blame-hang
227+
--blame-hang-dump-type full
228+
--blame-hang-timeout 10m
223229
</TestCommand>
224230
<!-- Convert more than one whitespace character into one space -->
225231
<TestCommand>$([System.Text.RegularExpressions.Regex]::Replace($(TestCommand), "\s+", " "))</TestCommand>
@@ -243,6 +249,9 @@
243249
--results-directory $(ResultsDirectory)
244250
--filter "$(FilterStatement)"
245251
--logger:"trx;LogFilePrefix=Functional-Windows$(TargetGroup)-$(TestSet)"
252+
--blame-hang
253+
--blame-hang-dump-type full
254+
--blame-hang-timeout 10m
246255
</TestCommand>
247256
<!-- Convert more than one whitespace character into one space -->
248257
<TestCommand>$([System.Text.RegularExpressions.Regex]::Replace($(TestCommand), "\s+", " "))</TestCommand>
@@ -263,6 +272,9 @@
263272
--results-directory $(ResultsDirectory)
264273
--filter "$(FilterStatement)"
265274
--logger:"trx;LogFilePrefix=Functional-Unixnetcoreapp-$(TestSet)"
275+
--blame-hang
276+
--blame-hang-dump-type full
277+
--blame-hang-timeout 10m
266278
</TestCommand>
267279
<!-- Convert more than one whitespace character into one space -->
268280
<TestCommand>$([System.Text.RegularExpressions.Regex]::Replace($(TestCommand), "\s+", " "))</TestCommand>
@@ -290,6 +302,9 @@
290302
--results-directory $(ResultsDirectory)
291303
--filter "$(FilterStatement)"
292304
--logger:"trx;LogFilePrefix=Manual-Windows$(TargetGroup)-$(TestSet)"
305+
--blame-hang
306+
--blame-hang-dump-type full
307+
--blame-hang-timeout 10m
293308
</TestCommand>
294309
<TestCommand>$(TestCommand.Replace($([System.Environment]::NewLine), " "))</TestCommand>
295310
</PropertyGroup>
@@ -313,6 +328,9 @@
313328
--results-directory $(ResultsDirectory)
314329
--filter "$(FilterStatement)"
315330
--logger:"trx;LogFilePrefix=Manual-Unixnetcoreapp-$(TestSet)"
331+
--blame-hang
332+
--blame-hang-dump-type full
333+
--blame-hang-timeout 10m
316334
</TestCommand>
317335
<TestCommand>$(TestCommand.Replace($([System.Environment]::NewLine), " "))</TestCommand>
318336
</PropertyGroup>

eng/pipelines/common/templates/jobs/ci-run-tests-job.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ jobs:
297297
dotnetx86RootPath: $(dotnetx86RootPath)
298298
operatingSystem: ${{ parameters.operatingSystem }}
299299

300-
- ${{ if and(eq(parameters.publishTestResults, true), eq(parameters.buildType, 'Project')) }}: # publish test results if build type is project
300+
- ${{ if eq(parameters.publishTestResults, true) }}:
301301
- template: ../steps/publish-test-results-step.yml@self
302302
parameters:
303303
debug: ${{ parameters.debug }}

eng/pipelines/common/templates/steps/build-and-run-tests-netcore-step.yml

Lines changed: 59 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,32 +70,86 @@ steps:
7070

7171
- task: DotNetCoreCLI@2
7272
displayName: 'Run Functional Tests for ${{parameters.TargetNetCoreVersion }}'
73+
condition: succeededOrFailed()
7374
inputs:
7475
command: test
7576
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
76-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=failing&category!=flaky"'
77+
arguments: >-
78+
-p:Platform=${{ parameters.platform }}
79+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
80+
-p:TargetNetCoreVersion=${{ parameters.TargetNetCoreVersion }}
81+
-p:ReferenceType=${{ parameters.referenceType }}
82+
-p:Configuration=${{ parameters.buildConfiguration }}
83+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
84+
--no-build
85+
-v n
86+
--filter "category!=failing&category!=flaky"
87+
--blame-hang
88+
--blame-hang-dump-type full
89+
--blame-hang-timeout 10m
7790
7891
- task: DotNetCoreCLI@2
7992
displayName: 'Run Flaky Functional Tests for ${{parameters.TargetNetCoreVersion }}'
93+
condition: succeededOrFailed()
8094
inputs:
8195
command: test
8296
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
83-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category=flaky"'
97+
arguments: >-
98+
-p:Platform=${{ parameters.platform }}
99+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
100+
-p:TargetNetCoreVersion=${{ parameters.TargetNetCoreVersion }}
101+
-p:ReferenceType=${{ parameters.referenceType }}
102+
-p:Configuration=${{ parameters.buildConfiguration }}
103+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
104+
--no-build
105+
-v n
106+
--filter "category=flaky"
107+
--blame-hang
108+
--blame-hang-dump-type full
109+
--blame-hang-timeout 10m
84110
continueOnError: true
85111

86112
- task: DotNetCoreCLI@2
87113
displayName: 'Run Manual Tests for ${{parameters.TargetNetCoreVersion }}'
114+
condition: succeededOrFailed()
88115
inputs:
89116
command: test
90117
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
91-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=failing&category!=flaky" --collect "Code Coverage"'
118+
arguments: >-
119+
-p:Platform=${{ parameters.platform }}
120+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
121+
-p:TargetNetCoreVersion=${{ parameters.TargetNetCoreVersion }}
122+
-p:ReferenceType=${{ parameters.referenceType }}
123+
-p:Configuration=${{ parameters.buildConfiguration }}
124+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
125+
--no-build
126+
-v n
127+
--filter "category!=failing&category!=flaky"
128+
--collect "Code Coverage"
129+
--blame-hang
130+
--blame-hang-dump-type full
131+
--blame-hang-timeout 10m
92132
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
93133

94134
- task: DotNetCoreCLI@2
95135
displayName: 'Run Flaky Manual Tests for ${{parameters.TargetNetCoreVersion }}'
136+
condition: succeededOrFailed()
96137
inputs:
97138
command: test
98139
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
99-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetCoreVersion=${{parameters.TargetNetCoreVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category=flaky" --collect "Code Coverage"'
140+
arguments: >-
141+
-p:Platform=${{ parameters.platform }}
142+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
143+
-p:TargetNetCoreVersion=${{ parameters.TargetNetCoreVersion }}
144+
-p:ReferenceType=${{ parameters.referenceType }}
145+
-p:Configuration=${{ parameters.buildConfiguration }}
146+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
147+
--no-build
148+
-v n
149+
--filter "category=flaky"
150+
--collect "Code Coverage"
151+
--blame-hang
152+
--blame-hang-dump-type full
153+
--blame-hang-timeout 10m
100154
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
101-
continueOnError: true
155+
continueOnError: true

eng/pipelines/common/templates/steps/build-and-run-tests-netfx-step.yml

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,32 +69,88 @@ steps:
6969

7070
- task: DotNetCoreCLI@2
7171
displayName: 'Run Functional Tests for ${{parameters.TargetNetFxVersion }}'
72+
condition: succeededOrFailed()
7273
inputs:
7374
command: test
7475
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
75-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=failing&category!=flaky" --collect "Code Coverage"'
76+
arguments: >-
77+
-p:Platform=${{ parameters.platform }}
78+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
79+
-p:TargetNetFxVersion=${{ parameters.TargetNetFxVersion }}
80+
-p:ReferenceType=${{ parameters.referenceType }}
81+
-p:Configuration=${{ parameters.buildConfiguration }}
82+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
83+
--no-build
84+
-v n
85+
--filter "category!=failing&category!=flaky"
86+
--collect "Code Coverage"
87+
--blame-hang
88+
--blame-hang-dump-type full
89+
--blame-hang-timeout 10m
7690
7791
- task: DotNetCoreCLI@2
7892
displayName: 'Run Flaky Functional Tests for ${{parameters.TargetNetFxVersion }}'
93+
condition: succeededOrFailed()
7994
inputs:
8095
command: test
8196
projects: 'src\Microsoft.Data.SqlClient\tests\FunctionalTests\Microsoft.Data.SqlClient.FunctionalTests.csproj'
82-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category=flaky" --collect "Code Coverage"'
97+
arguments: >-
98+
-p:Platform=${{ parameters.platform }}
99+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
100+
-p:TargetNetFxVersion=${{ parameters.TargetNetFxVersion }}
101+
-p:ReferenceType=${{ parameters.referenceType }}
102+
-p:Configuration=${{ parameters.buildConfiguration }}
103+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
104+
--no-build
105+
-v n
106+
--filter "category=flaky"
107+
--collect "Code Coverage"
108+
--blame-hang
109+
--blame-hang-dump-type full
110+
--blame-hang-timeout 10m
83111
continueOnError: true
84112

85113
- task: DotNetCoreCLI@2
86114
displayName: 'Run Manual Tests for ${{parameters.TargetNetFxVersion }}'
115+
condition: succeededOrFailed()
87116
inputs:
88117
command: test
89118
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
90-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category!=failing&category!=flaky" --collect "Code Coverage"'
119+
arguments: >-
120+
-p:Platform=${{ parameters.platform }}
121+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
122+
-p:TargetNetFxVersion=${{ parameters.TargetNetFxVersion }}
123+
-p:ReferenceType=${{ parameters.referenceType }}
124+
-p:Configuration=${{ parameters.buildConfiguration }}
125+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
126+
--no-build
127+
-v n
128+
--filter "category!=failing&category!=flaky"
129+
--collect "Code Coverage"
130+
--blame-hang
131+
--blame-hang-dump-type full
132+
--blame-hang-timeout 10m
91133
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
92134

93135
- task: DotNetCoreCLI@2
94136
displayName: 'Run Flaky Manual Tests for ${{parameters.TargetNetFxVersion }}'
137+
condition: succeededOrFailed()
95138
inputs:
96139
command: test
97140
projects: 'src\Microsoft.Data.SqlClient\tests\ManualTests\Microsoft.Data.SqlClient.ManualTesting.Tests.csproj'
98-
arguments: '-p:Platform=${{parameters.platform }} -p:TestTargetOS="${{parameters.TestTargetOS }}" -p:TargetNetFxVersion=${{parameters.TargetNetFxVersion }} -p:ReferenceType=${{parameters.referenceType }} -p:Configuration=${{parameters.buildConfiguration }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.NugetPackageVersion }} --no-build -v n --filter "category=flaky" --collect "Code Coverage"'
141+
arguments: >-
142+
-p:Platform=${{ parameters.platform }}
143+
-p:TestTargetOS=${{ parameters.TestTargetOS }}
144+
-p:TargetNetFxVersion=${{ parameters.TargetNetFxVersion }}
145+
-p:ReferenceType=${{ parameters.referenceType }}
146+
-p:Configuration=${{ parameters.buildConfiguration }}
147+
-p:TestMicrosoftDataSqlClientVersion=${{ parameters.NugetPackageVersion }}
148+
--no-build
149+
-v n
150+
--filter "category=flaky"
151+
--collect "Code Coverage"
152+
--blame-hang
153+
--blame-hang-dump-type full
154+
--blame-hang-timeout 10m
99155
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
100156
continueOnError: true

eng/pipelines/common/templates/steps/configure-sql-server-step.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ steps:
103103
- task: DotNetCoreCLI@2
104104
displayName: 'Build Ext Utilities'
105105
inputs:
106+
command: build
106107
arguments: '-f ${{parameters.netcoreVersionTestUtils }}'
107108
workingDirectory: src/Microsoft.Data.SqlClient/tests/tools/Microsoft.Data.SqlClient.ExtUtilities
108109
retryCountOnTaskFailure: 1

eng/pipelines/common/templates/steps/run-all-tests-step.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ steps:
6262
- ${{if eq(parameters.referenceType, 'Project')}}:
6363
- task: MSBuild@1
6464
displayName: 'Run Unit Tests ${{parameters.msbuildArchitecture }}'
65+
condition: succeededOrFailed()
6566
inputs:
6667
solution: build.proj
6768
msbuildArchitecture: ${{parameters.msbuildArchitecture }}
@@ -74,6 +75,7 @@ steps:
7475

7576
- task: MSBuild@1
7677
displayName: 'Run Flaky Unit Tests ${{parameters.msbuildArchitecture }}'
78+
condition: succeededOrFailed()
7779
inputs:
7880
solution: build.proj
7981
msbuildArchitecture: ${{parameters.msbuildArchitecture }}
@@ -87,6 +89,7 @@ steps:
8789

8890
- task: MSBuild@1
8991
displayName: 'Run Functional Tests ${{parameters.msbuildArchitecture }}'
92+
condition: succeededOrFailed()
9093
inputs:
9194
solution: build.proj
9295
msbuildArchitecture: ${{parameters.msbuildArchitecture }}
@@ -98,6 +101,7 @@ steps:
98101
msbuildArguments: '-t:RunFunctionalTests -p:TF=${{parameters.targetFramework }} -p:TestSet=${{parameters.testSet }} -p:ReferenceType=${{parameters.referenceType }} -p:TestMicrosoftDataSqlClientVersion=${{parameters.nugetPackageVersion }} -p:DotnetPath=${{parameters.dotnetx86RootPath }}'
99102

100103
- task: MSBuild@1
104+
condition: succeededOrFailed()
101105
displayName: 'Run Flaky Functional Tests ${{parameters.msbuildArchitecture }}'
102106
inputs:
103107
solution: build.proj
@@ -111,6 +115,7 @@ steps:
111115
continueOnError: true
112116

113117
- task: MSBuild@1
118+
condition: succeededOrFailed()
114119
displayName: 'Run Manual Tests ${{parameters.msbuildArchitecture }}'
115120
inputs:
116121
solution: build.proj
@@ -124,6 +129,7 @@ steps:
124129
retryCountOnTaskFailure: ${{parameters.retryCountOnManualTests }}
125130

126131
- task: MSBuild@1
132+
condition: succeededOrFailed()
127133
displayName: 'Run Flaky Manual Tests ${{parameters.msbuildArchitecture }}'
128134
inputs:
129135
solution: build.proj
@@ -141,6 +147,7 @@ steps:
141147
- ${{if eq(parameters.referenceType, 'Project')}}:
142148
- task: DotNetCoreCLI@2
143149
displayName: 'Run Unit Tests'
150+
condition: succeededOrFailed()
144151
inputs:
145152
command: custom
146153
projects: build.proj
@@ -151,6 +158,7 @@ steps:
151158

152159
- task: DotNetCoreCLI@2
153160
displayName: 'Run Flaky Unit Tests'
161+
condition: succeededOrFailed()
154162
inputs:
155163
command: custom
156164
projects: build.proj
@@ -162,6 +170,7 @@ steps:
162170

163171
- task: DotNetCoreCLI@2
164172
displayName: 'Run Functional Tests'
173+
condition: succeededOrFailed()
165174
inputs:
166175
command: custom
167176
projects: build.proj
@@ -171,6 +180,7 @@ steps:
171180
verbosityPack: Detailed
172181

173182
- task: DotNetCoreCLI@2
183+
condition: succeededOrFailed()
174184
displayName: 'Run Flaky Functional Tests'
175185
inputs:
176186
command: custom
@@ -183,6 +193,7 @@ steps:
183193

184194
- task: DotNetCoreCLI@2
185195
displayName: 'Run Manual Tests'
196+
condition: succeededOrFailed()
186197
inputs:
187198
command: custom
188199
projects: build.proj
@@ -194,6 +205,7 @@ steps:
194205

195206
- task: DotNetCoreCLI@2
196207
displayName: 'Run Flaky Manual Tests'
208+
condition: succeededOrFailed()
197209
inputs:
198210
command: custom
199211
projects: build.proj

src/Microsoft.Data.SqlClient/tests/ManualTests/SQL/ParameterTest/TvpTest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ public class TvpTest
4242
// data value and server consts
4343
private readonly string _connStr;
4444

45+
// This test occasionally hangs forever, hence marked as flaky.
46+
[Trait("Category", "flaky")]
4547
// Synapse: The statement failed. Column 'blob' has a data type that cannot participate in a columnstore index.
4648
[ConditionalFact(typeof(DataTestUtility), nameof(DataTestUtility.AreConnStringsSetup), nameof(DataTestUtility.IsNotAzureSynapse))]
4749
public void TestMain()

0 commit comments

Comments
 (0)