Skip to content

Add possibility to serve a public CA certificate based on TLS SNI#5589

Draft
shaan1337 wants to merge 1 commit into
masterfrom
shaan1337/public-ca-cert
Draft

Add possibility to serve a public CA certificate based on TLS SNI#5589
shaan1337 wants to merge 1 commit into
masterfrom
shaan1337/public-ca-cert

Conversation

@shaan1337

@shaan1337 shaan1337 commented Apr 22, 2026

Copy link
Copy Markdown
Member

Background

DisableClientAuthEkuValidation was recently added because publicly-trusted CAs are increasingly no longer issuing certs with the clientAuth EKU. A consequence: mTLS within a cluster using only public-CA certs is no longer possible without that flag, and the flag is a short-term mitigation (it weakens RFC 5280 EKU enforcement), not a long-term solution. A private PKI is therefore required to run mTLS in the cluster at all.

Given that, widening TrustedRootCertificatesPath to include the system root store (e.g. /etc/ssl/certs) for the sake of mTLS is strictly worse than doing nothing — it collapses the cluster's trust boundary onto every public CA the OS happens to trust, with only the CertificateReservedNodeCommonName string check standing between the cluster and any cert issued by any public CA.

Operators historically reached for a public CA in mTLS for two reasons:

  1. To avoid running a private PKI and rotating its certs themselves.
  2. To avoid distributing a custom CA to every gRPC client / browser talking to the node.

Reason #1 is moot today (private PKI is required either way). Reason #2 is still real; TLS termination at a load balancer / reverse proxy could solve it but isn't straightforward with gRPC.

This PR

The primary recommendation is to use a private PKI for cluster mTLS. For deployments that also need to solve reason #2, this PR lets them configure a separate, publicly-trusted certificate served only on matching SNI — without widening the cluster's mTLS trust anchor.

The node serves this second cert on TLS connections whose ClientHello SNI matches one of its SANs; the internal-CA node certificate continues to be served on every other connection (including internal node-to-node gossip). The publicly-trusted cert's CA never enters TrustedRootCerts and cannot authenticate anything as a node.

Client cert handling is unchanged — requested but not required, validated against the internal CA — so internal-CA-issued user certs still authenticate via the publicly-trusted hostname.

New config

  • CertificateFile.PubliclyTrustedCertificate{File,PrivateKeyFile,Password,PrivateKeyPassword}
  • CertificateStore.PubliclyTrustedCertificate{StoreLocation,StoreName,SubjectName,Thumbprint}

Purely additive.

Startup diagnostics

  • Logs the publicly-trusted cert's DNS SANs so operators can see which SNI values trigger public-cert serving.
  • Warns if any publicly-trusted SAN overlaps with a node-cert DNS SAN (would break internal mTLS).
  • Warns if TrustedRootCertificatesPath points at a well-known OS trust store (/etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, etc.) or TrustedRootCertificateStoreName is Root/AuthRoot — the misconfiguration this feature is meant to make unnecessary.

Test plan

  • CI passes (NUnit cert tests)
  • Manual: 2-node cluster serves public cert on matching SNI, node cert otherwise, cluster mTLS still works
  • Manual: external gRPC client with internal-CA user cert authenticates via the publicly-trusted hostname

@shaan1337 shaan1337 force-pushed the shaan1337/public-ca-cert branch 8 times, most recently from 594deda to a168b2e Compare April 22, 2026 13:21
…dening the internal mTLS trust anchor

Background: DisableClientAuthEkuValidation was recently added to
KurrentDB because publicly-trusted CAs are increasingly no longer
issuing certificates with the clientAuth EKU. A consequence is that
mTLS within a cluster using only public-CA certificates is no longer
possible without that flag — and the flag is a short-term mitigation,
not a long-term solution (it weakens RFC 5280 EKU enforcement). A
private PKI is therefore required to run mTLS in the cluster at all.

Given that, widening TrustedRootCertificatesPath to include the system
root store (e.g. /etc/ssl/certs) for the sake of mTLS is strictly
worse than doing nothing — it collapses the cluster's trust boundary
onto every public CA the OS happens to trust, with only the
CertificateReservedNodeCommonName string check standing between the
cluster and any certificate issued by any public CA.

Operators historically reached for a public CA in mTLS for two reasons:
  1. To avoid running a private PKI and rotating its certs themselves.
  2. To avoid distributing a custom CA to every gRPC client / browser
     that talks to the node.

Reason #1 is moot today — a private PKI is required either way once
public CAs stop issuing clientAuth EKU certs. Reason #2 is still real;
terminating TLS at a load balancer / reverse proxy could solve it,
but is not straightforward with gRPC.

The primary recommendation is therefore to use a private PKI for
cluster mTLS. For deployments that also need to solve reason #2, this
change lets them configure a separate, publicly-trusted certificate
served only on matching SNI — without widening the cluster's mTLS
trust anchor.

The node serves this second, publicly-trusted certificate on TLS
connections whose ClientHello SNI matches one of its Subject
Alternative Names, while the node's own internal-CA certificate
continues to be served on every other connection (including all
internal node-to-node HTTPS gossip). The publicly-trusted
certificate's issuing CA never enters TrustedRootCerts, never
participates in InternalClientCertificateValidator, and cannot
authenticate anything as a node. Client certificate handling is
identical on both paths — requested but not required, validated only
against the internal CA — so user-certificate authentication
continues to work for external gRPC clients connecting via the
publicly-trusted hostname.

Result: internal PKI stays strict (operator's private CA only), and
external gRPC clients (and browsers) connecting to the public
hostname see a publicly-trusted certificate — no need to distribute
the internal CA to every client application or browser.

Adds four new CertificateFile options (PubliclyTrustedCertificateFile,
PubliclyTrustedCertificatePrivateKeyFile, PubliclyTrustedCertificatePassword,
PubliclyTrustedCertificatePrivateKeyPassword) and four new
CertificateStore options (PubliclyTrustedCertificateStoreLocation,
PubliclyTrustedCertificateStoreName, PubliclyTrustedCertificateSubjectName,
PubliclyTrustedCertificateThumbprint). Nothing fires unless one of
these is set — the feature is purely additive.

At startup the publicly-trusted certificate's DNS names are logged,
and a warning is emitted if any of its SANs overlap with the node
certificate's DNS SANs — that overlap would cause internal
node-to-node HTTPS traffic using such a name for SNI to receive the
publicly-trusted certificate and fail internal mTLS.

A separate warning is emitted if TrustedRootCertificatesPath points at
a well-known OS system trust store directory (e.g. /etc/ssl/certs,
/etc/pki/ca-trust/extracted/pem) or if TrustedRootCertificateStoreName
is 'Root' / 'AuthRoot' — both are indicators of the exact
misconfiguration this feature is meant to make unnecessary. The
warning recommends using the PubliclyTrustedCertificate* options
instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shaan1337 shaan1337 force-pushed the shaan1337/public-ca-cert branch from a168b2e to 34e9f6c Compare April 22, 2026 17:14
@qodo-code-review

Copy link
Copy Markdown
Contributor

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: build / src/KurrentDB.Core.Tests/KurrentDB.Core.Tests.csproj

Failed stage: Run Tests [❌]

Failed test name: identifies_well_known_system_trust_store_paths

Failure summary:

The action failed during the test step because KurrentDB.Core.Tests.dll had 7 failing NUnit tests
(test runner exited with code 2).
Failures shown in the log include:
-
KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(...)
failed for multiple Linux trust-store paths (e.g. /etc/ssl/certs, /etc/pki/...,
/usr/local/share/ca-certificates): assertion Expected: True But was: False at
src/KurrentDB.Core.Tests/Certificates/system_trust_store_detection.cs:16. This indicates the
trust-store path detection logic did not recognize these paths in this runner environment.
-
KurrentDB.Core.Tests.Certificates.system_trust_store_detection.path_match_is_case_insensitive
failed: Expected: True But was: False at
src/KurrentDB.Core.Tests/Certificates/system_trust_store_detection.cs:31, implying path matching
behaved case-sensitively (or otherwise did not match as expected) on this platform.
-
should_receive_the_correct_stats failed in OneTimeSetUp for the gRPC persistent subscription
fixture: Reached too many retries to get all subscriptions live! Expected: not equal to 20 But was:
20, originating from WaitForSubscriptionsToBeLive(...) in
src/KurrentDB.Core.Tests/Services/Transport/Grpc/PersistentSubscriptionTests/GetInfoTests.cs:413
(called from line 186). This caused Setup failed for test fixture
KurrentDB.Core.Tests.Services.Transport.Grpc.PersistentSubscriptionTests.GetInfoTests+when_listing_persistent_subscriptions_on_all_stream<LogFormat+V2,String>.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

201:  KurrentDB.LogCommon -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.LogCommon\bin\release\net10.0\KurrentDB.LogCommon.dll
202:  KurrentDB.Licensing -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Licensing\bin\release\net10.0\KurrentDB.Licensing.dll
203:  KurrentDB.NETCore.Compatibility -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.NETCore.Compatibility\bin\release\net10.0\KurrentDB.NETCore.Compatibility.dll
204:  KurrentDB.Native -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Native\bin\release\net10.0\KurrentDB.Native.dll
205:  KurrentDB.Common -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Common\bin\release\net10.0\KurrentDB.Common.dll
206:  KurrentDB.Transport.Tcp -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Transport.Tcp\bin\release\net10.0\KurrentDB.Transport.Tcp.dll
207:  KurrentDB.Transport.Http -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Transport.Http\bin\release\net10.0\KurrentDB.Transport.Http.dll
208:  KurrentDB.Logging -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Logging\bin\release\net10.0\KurrentDB.Logging.dll
209:  KurrentDB.SourceGenerators -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.SourceGenerators\bin\release\netstandard2.0\KurrentDB.SourceGenerators.dll
210:  KurrentDB.Core -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core\bin\release\net10.0\KurrentDB.Core.dll
211:  KurrentDB.Core.Testing -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Testing\bin\release\net10.0\KurrentDB.Core.Testing.dll
212:  KurrentDB.Core.Testing.NUnit -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Testing.NUnit\bin\release\net10.0\KurrentDB.Core.Testing.NUnit.dll
213:  KurrentDB.Core.Tests -> D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll
214:  Build succeeded.
215:  0 Warning(s)
216:  0 Error(s)
217:  Time Elapsed 00:01:24.87
...

220:  shell: C:\Program Files\Git\bin\bash.EXE --noprofile --norc -e -o pipefail {0}
221:  env:
222:  DB_IMAGE: kurrentdb-test-container
223:  DOTNET_ROOT: C:\Program Files\dotnet
224:  ##[endgroup]
225:  Running tests from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
226:  �[33mskipped�[m FSMSpeedTest1
227:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
228:  �[33mskipped�[m FSMSpeedTest2
229:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
230:  �[33mskipped�[m null_message_app_should_throw
231:  We do not check each message for null for performance reasons.
232:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
233:  �[90m  Standard output
234:  �[90m    We do not check each message for null for performance reasons.
235:  �[90m  Error output
236:  �[m�[33mskipped�[m null_message_should_throw
237:  We do not check each message for null for performance reasons.
238:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
239:  �[90m  Standard output
240:  �[90m    We do not check each message for null for performance reasons.
241:  �[90m  Error output
242:  �[m�[31mfailed�[m identifies_well_known_system_trust_store_paths("/etc/ssl/certs") �[90m(52ms)�[m
243:  Expected: True
244:  But was:  False
245:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
246:  �[31m    Expected: True
247:  But was:  False
248:  �[m�[90m    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:16�[90m
249:  �[90m    1)    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:line 16
250:  �[90m    
251:  �[90m    
252:  �[m�[31mfailed�[m identifies_well_known_system_trust_store_paths("/etc/ssl/certs/") �[90m(0ms)�[m
253:  Expected: True
254:  But was:  False
255:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
256:  �[31m    Expected: True
257:  But was:  False
258:  �[m�[90m    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:16�[90m
259:  at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
260:  �[90m    1)    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:line 16
261:  �[90m    at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
262:  �[90m    
263:  �[m�[31mfailed�[m identifies_well_known_system_trust_store_paths("/etc/pki/ca-trust/extracted/pem") �[90m(0ms)�[m
264:  Expected: True
265:  But was:  False
266:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
267:  �[31m    Expected: True
268:  But was:  False
269:  �[m�[90m    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:16�[90m
270:  at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
271:  �[90m    1)    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:line 16
272:  �[90m    at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
273:  �[90m    
274:  �[m�[31mfailed�[m identifies_well_known_system_trust_store_paths("/etc/pki/tls/certs") �[90m(0ms)�[m
275:  Expected: True
276:  But was:  False
277:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
278:  �[31m    Expected: True
279:  But was:  False
280:  �[m�[90m    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:16�[90m
281:  at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
282:  �[90m    1)    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:line 16
283:  �[90m    at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
284:  �[90m    
285:  �[m�[31mfailed�[m identifies_well_known_system_trust_store_paths("/usr/local/share/ca-certificates") �[90m(0ms)�[m
286:  Expected: True
287:  But was:  False
288:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
289:  �[31m    Expected: True
290:  But was:  False
291:  �[m�[90m    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:16�[90m
292:  at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
293:  �[90m    1)    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.identifies_well_known_system_trust_store_paths(String path) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:line 16
294:  �[90m    at InvokeStub_system_trust_store_detection.identifies_well_known_system_trust_store_paths(Object, Span`1)
295:  �[90m    
296:  �[m�[31mfailed�[m path_match_is_case_insensitive �[90m(0ms)�[m
297:  Expected: True
298:  But was:  False
299:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
300:  �[31m    Expected: True
301:  But was:  False
302:  �[m�[90m    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.path_match_is_case_insensitive() in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:31�[90m
303:  �[90m    1)    at KurrentDB.Core.Tests.Certificates.system_trust_store_detection.path_match_is_case_insensitive() in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Certificates\system_trust_store_detection.cs:line 31
304:  �[90m    
305:  �[90m    
306:  �[m�[33mskipped�[m CatchupSubscriptionToAllHandlesManyEventsWithSmallBatchSize
307:  OneTimeSetUp: Very long running
308:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
309:  �[90m  Standard output
310:  �[90m    OneTimeSetUp: Very long running
311:  �[90m  Error output
312:  �[m�[33mskipped�[m CatchupSubscriptionToStreamHandlesManyEventsWithSmallBatchSize
313:  OneTimeSetUp: Very long running
314:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
315:  �[90m  Standard output
316:  �[90m    OneTimeSetUp: Very long running
317:  �[90m  Error output
318:  �[m�[33mskipped�[m can_change_password_and_use_the_new_one
319:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
320:  �[33mskipped�[m can_change_password_and_use_the_new_one
321:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
322:  �[33mskipped�[m can_change_password_and_use_the_new_one
323:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
324:  �[33mskipped�[m getting_metadata_for_metastream_returns_correct_metadata
325:  You can't get stream metadata for metastream through ClientAPI
326:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
327:  �[90m  Standard output
328:  �[90m    You can't get stream metadata for metastream through ClientAPI
329:  �[90m  Error output
330:  �[m�[33mskipped�[m randomized_hash_verification_test
331:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
332:  �[33mskipped�[m pass_smhasher_sanity_test
333:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
334:  �[33mskipped�[m pass_smhasher_sanity_test
335:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
336:  �[33mskipped�[m pass_smhasher_sanity_test
337:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
338:  �[33mskipped�[m count_should_be_right
339:  OneTimeSetUp: Long running, unsafe
340:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
341:  �[90m  Standard output
342:  �[90m    OneTimeSetUp: Long running, unsafe
343:  �[90m  Error output
344:  �[m�[33mskipped�[m filename_is_correct
345:  OneTimeSetUp: Long running, unsafe
346:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
347:  �[90m  Standard output
348:  �[90m    OneTimeSetUp: Long running, unsafe
349:  �[90m  Error output
350:  �[m�[33mskipped�[m construct_valid_cache_for_any_combination_of_params_large
351:  Veerrrryyy long running :)
352:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
353:  �[90m  Standard output
354:  �[90m    Veerrrryyy long running :)
355:  �[90m  Error output
356:  �[m�[33mskipped�[m construct_valid_cache_for_any_combination_of_params_large
357:  Veerrrryyy long running :)
358:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
359:  �[90m  Standard output
360:  �[90m    Veerrrryyy long running :)
361:  �[90m  Error output
362:  �[m�[33mskipped�[m construct_valid_cache_for_any_combination_of_params_large
363:  Veerrrryyy long running :)
364:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
365:  �[90m  Standard output
366:  �[90m    Veerrrryyy long running :)
367:  �[90m  Error output
368:  �[m�[33mskipped�[m construct_valid_cache_for_any_combination_of_params_large
369:  Veerrrryyy long running :)
370:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
371:  �[90m  Standard output
372:  �[90m    Veerrrryyy long running :)
373:  �[90m  Error output
374:  �[m�[33mskipped�[m construct_valid_cache_for_any_combination_of_params_large
375:  Veerrrryyy long running :)
376:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
377:  �[90m  Standard output
378:  �[90m    Veerrrryyy long running :)
379:  �[90m  Error output
380:  �[m�[33mskipped�[m construct_valid_cache_for_any_combination_of_params_large
381:  Veerrrryyy long running :)
382:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
383:  �[90m  Standard output
384:  �[90m    Veerrrryyy long running :)
385:  �[90m  Error output
386:  �[m�[33mskipped�[m ptable_exceeding_maximum_filter_size_succeeds
387:  Quick but requires 4gb disk
388:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
389:  �[90m  Standard output
390:  �[90m    Quick but requires 4gb disk
391:  �[90m  Error output
392:  �[m�[33mskipped�[m count_should_be_right
393:  OneTimeSetUp: 
394:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
395:  �[90m  Standard output
396:  �[90m    OneTimeSetUp: 
397:  �[90m  Error output
398:  �[m�[33mskipped�[m filename_is_correct
399:  OneTimeSetUp: 
400:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
401:  �[90m  Standard output
402:  �[90m    OneTimeSetUp: 
403:  �[90m  Error output
404:  �[m�[33mskipped�[m count_should_be_right
405:  OneTimeSetUp: 
406:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
407:  �[90m  Standard output
408:  �[90m    OneTimeSetUp: 
409:  �[90m  Error output
410:  �[m�[33mskipped�[m filename_is_correct
411:  OneTimeSetUp: 
412:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
413:  �[90m  Standard output
414:  �[90m    OneTimeSetUp: 
415:  �[90m  Error output
416:  �[m�[33mskipped�[m count_should_be_right
417:  OneTimeSetUp: 
418:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
419:  �[90m  Standard output
420:  �[90m    OneTimeSetUp: 
421:  �[90m  Error output
422:  �[m�[33mskipped�[m filename_is_correct
423:  OneTimeSetUp: 
424:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
425:  �[90m  Standard output
426:  �[90m    OneTimeSetUp: 
427:  �[90m  Error output
428:  �[m�[33mskipped�[m construct_same_midpoint_indexes_for_any_combination_of_params_large
429:  Long running
430:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
431:  �[90m  Standard output
432:  �[90m    Long running
433:  �[90m  Error output
434:  �[m�[33mskipped�[m should_assign_leader_and_follower_roles_correctly
435:  OneTimeSetUp: Flaky test - e.g. if multiple elections take place
436:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
437:  �[90m  Standard output
438:  �[90m    OneTimeSetUp: Flaky test - e.g. if multiple elections take place
439:  �[90m  Error output
440:  �[m�[33mskipped�[m should_have_two_unique_epoch_writes
441:  OneTimeSetUp: Flaky test - e.g. if multiple elections take place
442:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
443:  �[90m  Standard output
444:  �[90m    OneTimeSetUp: Flaky test - e.g. if multiple elections take place
445:  �[90m  Error output
446:  �[m�[33mskipped�[m new_events_should_have_correct_event_numbers(True)
447:  OneTimeSetUp: 
448:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
449:  �[90m  Standard output
450:  �[90m    OneTimeSetUp: 
451:  �[90m  Error output
452:  �[m�[33mskipped�[m new_events_should_have_correct_event_numbers(False)
453:  OneTimeSetUp: 
454:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
455:  �[90m  Standard output
456:  �[90m    OneTimeSetUp: 
457:  �[90m  Error output
458:  �[m�[33mskipped�[m show_time
459:  OneTimeSetUp: Known bug in Mono, waiting for fix.
460:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
461:  �[90m  Standard output
462:  �[90m    OneTimeSetUp: Known bug in Mono, waiting for fix.
463:  �[90m  Error output
464:  �[m�[33mskipped�[m should_complete_successfully(0)
465:  OneTimeSetUp: Not sure the finish criteria is correct
466:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
467:  �[90m  Standard output
468:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
469:  �[90m  Error output
470:  �[m�[33mskipped�[m should_complete_successfully(1)
471:  OneTimeSetUp: Not sure the finish criteria is correct
472:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
473:  �[90m  Standard output
474:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
475:  �[90m  Error output
476:  �[m�[33mskipped�[m should_complete_successfully(2)
477:  OneTimeSetUp: Not sure the finish criteria is correct
478:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
479:  �[90m  Standard output
480:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
481:  �[90m  Error output
482:  �[m�[33mskipped�[m should_complete_successfully(3)
483:  OneTimeSetUp: Not sure the finish criteria is correct
484:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
485:  �[90m  Standard output
486:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
487:  �[90m  Error output
488:  �[m�[33mskipped�[m should_complete_successfully(4)
489:  OneTimeSetUp: Not sure the finish criteria is correct
490:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
491:  �[90m  Standard output
492:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
493:  �[90m  Error output
494:  �[m�[33mskipped�[m should_complete_successfully(5)
495:  OneTimeSetUp: Not sure the finish criteria is correct
496:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
497:  �[90m  Standard output
498:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
499:  �[90m  Error output
500:  �[m�[33mskipped�[m should_complete_successfully(6)
501:  OneTimeSetUp: Not sure the finish criteria is correct
502:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
503:  �[90m  Standard output
504:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
505:  �[90m  Error output
506:  �[m�[33mskipped�[m should_complete_successfully(7)
507:  OneTimeSetUp: Not sure the finish criteria is correct
508:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
509:  �[90m  Standard output
510:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
511:  �[90m  Error output
512:  �[m�[33mskipped�[m should_complete_successfully(8)
513:  OneTimeSetUp: Not sure the finish criteria is correct
514:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
515:  �[90m  Standard output
516:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
517:  �[90m  Error output
518:  �[m�[33mskipped�[m should_complete_successfully(9)
519:  OneTimeSetUp: Not sure the finish criteria is correct
520:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
521:  �[90m  Standard output
522:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
523:  �[90m  Error output
524:  �[m�[33mskipped�[m should_complete_successfully(10)
525:  OneTimeSetUp: Not sure the finish criteria is correct
526:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
527:  �[90m  Standard output
528:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
529:  �[90m  Error output
530:  �[m�[33mskipped�[m should_complete_successfully(11)
531:  OneTimeSetUp: Not sure the finish criteria is correct
532:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
533:  �[90m  Standard output
534:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
535:  �[90m  Error output
536:  �[m�[33mskipped�[m should_complete_successfully(12)
537:  OneTimeSetUp: Not sure the finish criteria is correct
538:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
539:  �[90m  Standard output
540:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
541:  �[90m  Error output
542:  �[m�[33mskipped�[m should_complete_successfully(13)
543:  OneTimeSetUp: Not sure the finish criteria is correct
544:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
545:  �[90m  Standard output
546:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
547:  �[90m  Error output
548:  �[m�[33mskipped�[m should_complete_successfully(14)
549:  OneTimeSetUp: Not sure the finish criteria is correct
550:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
551:  �[90m  Standard output
552:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
553:  �[90m  Error output
554:  �[m�[33mskipped�[m should_complete_successfully(15)
555:  OneTimeSetUp: Not sure the finish criteria is correct
556:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
557:  �[90m  Standard output
558:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
559:  �[90m  Error output
560:  �[m�[33mskipped�[m should_complete_successfully(16)
561:  OneTimeSetUp: Not sure the finish criteria is correct
562:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
563:  �[90m  Standard output
564:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
565:  �[90m  Error output
566:  �[m�[33mskipped�[m should_complete_successfully(17)
567:  OneTimeSetUp: Not sure the finish criteria is correct
568:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
569:  �[90m  Standard output
570:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
571:  �[90m  Error output
572:  �[m�[33mskipped�[m should_complete_successfully(18)
573:  OneTimeSetUp: Not sure the finish criteria is correct
574:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
575:  �[90m  Standard output
576:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
577:  �[90m  Error output
578:  �[m�[33mskipped�[m should_complete_successfully(19)
579:  OneTimeSetUp: Not sure the finish criteria is correct
580:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
581:  �[90m  Standard output
582:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
583:  �[90m  Error output
584:  �[m�[33mskipped�[m should_complete_successfully(20)
585:  OneTimeSetUp: Not sure the finish criteria is correct
586:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
587:  �[90m  Standard output
588:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
589:  �[90m  Error output
590:  �[m�[33mskipped�[m should_complete_successfully(21)
591:  OneTimeSetUp: Not sure the finish criteria is correct
592:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
593:  �[90m  Standard output
594:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
595:  �[90m  Error output
596:  �[m�[33mskipped�[m should_complete_successfully(22)
597:  OneTimeSetUp: Not sure the finish criteria is correct
598:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
599:  �[90m  Standard output
600:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
601:  �[90m  Error output
602:  �[m�[33mskipped�[m should_complete_successfully(23)
603:  OneTimeSetUp: Not sure the finish criteria is correct
604:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
605:  �[90m  Standard output
606:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
607:  �[90m  Error output
608:  �[m�[33mskipped�[m should_complete_successfully(24)
609:  OneTimeSetUp: Not sure the finish criteria is correct
610:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
611:  �[90m  Standard output
612:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
613:  �[90m  Error output
614:  �[m�[33mskipped�[m should_complete_successfully(25)
615:  OneTimeSetUp: Not sure the finish criteria is correct
616:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
617:  �[90m  Standard output
618:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
619:  �[90m  Error output
620:  �[m�[33mskipped�[m should_complete_successfully(26)
621:  OneTimeSetUp: Not sure the finish criteria is correct
622:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
623:  �[90m  Standard output
624:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
625:  �[90m  Error output
626:  �[m�[33mskipped�[m should_complete_successfully(27)
627:  OneTimeSetUp: Not sure the finish criteria is correct
628:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
629:  �[90m  Standard output
630:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
631:  �[90m  Error output
632:  �[m�[33mskipped�[m should_complete_successfully(28)
633:  OneTimeSetUp: Not sure the finish criteria is correct
634:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
635:  �[90m  Standard output
636:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
637:  �[90m  Error output
638:  �[m�[33mskipped�[m should_complete_successfully(29)
639:  OneTimeSetUp: Not sure the finish criteria is correct
640:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
641:  �[90m  Standard output
642:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
643:  �[90m  Error output
644:  �[m�[33mskipped�[m should_complete_successfully(30)
645:  OneTimeSetUp: Not sure the finish criteria is correct
646:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
647:  �[90m  Standard output
648:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
649:  �[90m  Error output
650:  �[m�[33mskipped�[m should_complete_successfully(31)
651:  OneTimeSetUp: Not sure the finish criteria is correct
652:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
653:  �[90m  Standard output
654:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
655:  �[90m  Error output
656:  �[m�[33mskipped�[m should_complete_successfully(32)
657:  OneTimeSetUp: Not sure the finish criteria is correct
658:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
659:  �[90m  Standard output
660:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
661:  �[90m  Error output
662:  �[m�[33mskipped�[m should_complete_successfully(33)
663:  OneTimeSetUp: Not sure the finish criteria is correct
664:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
665:  �[90m  Standard output
666:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
667:  �[90m  Error output
668:  �[m�[33mskipped�[m should_complete_successfully(34)
669:  OneTimeSetUp: Not sure the finish criteria is correct
670:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
671:  �[90m  Standard output
672:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
673:  �[90m  Error output
674:  �[m�[33mskipped�[m should_complete_successfully(35)
675:  OneTimeSetUp: Not sure the finish criteria is correct
676:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
677:  �[90m  Standard output
678:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
679:  �[90m  Error output
680:  �[m�[33mskipped�[m should_complete_successfully(36)
681:  OneTimeSetUp: Not sure the finish criteria is correct
682:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
683:  �[90m  Standard output
684:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
685:  �[90m  Error output
686:  �[m�[33mskipped�[m should_complete_successfully(37)
687:  OneTimeSetUp: Not sure the finish criteria is correct
688:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
689:  �[90m  Standard output
690:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
691:  �[90m  Error output
692:  �[m�[33mskipped�[m should_complete_successfully(38)
693:  OneTimeSetUp: Not sure the finish criteria is correct
694:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
695:  �[90m  Standard output
696:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
697:  �[90m  Error output
698:  �[m�[33mskipped�[m should_complete_successfully(39)
699:  OneTimeSetUp: Not sure the finish criteria is correct
700:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
701:  �[90m  Standard output
702:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
703:  �[90m  Error output
704:  �[m�[33mskipped�[m should_complete_successfully(40)
705:  OneTimeSetUp: Not sure the finish criteria is correct
706:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
707:  �[90m  Standard output
708:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
709:  �[90m  Error output
710:  �[m�[33mskipped�[m should_complete_successfully(41)
711:  OneTimeSetUp: Not sure the finish criteria is correct
712:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
713:  �[90m  Standard output
714:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
715:  �[90m  Error output
716:  �[m�[33mskipped�[m should_complete_successfully(42)
717:  OneTimeSetUp: Not sure the finish criteria is correct
718:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
719:  �[90m  Standard output
720:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
721:  �[90m  Error output
722:  �[m�[33mskipped�[m should_complete_successfully(43)
723:  OneTimeSetUp: Not sure the finish criteria is correct
724:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
725:  �[90m  Standard output
726:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
727:  �[90m  Error output
728:  �[m�[33mskipped�[m should_complete_successfully(44)
729:  OneTimeSetUp: Not sure the finish criteria is correct
730:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
731:  �[90m  Standard output
732:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
733:  �[90m  Error output
734:  �[m�[33mskipped�[m should_complete_successfully(45)
735:  OneTimeSetUp: Not sure the finish criteria is correct
736:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
737:  �[90m  Standard output
738:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
739:  �[90m  Error output
740:  �[m�[33mskipped�[m should_complete_successfully(46)
741:  OneTimeSetUp: Not sure the finish criteria is correct
742:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
743:  �[90m  Standard output
744:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
745:  �[90m  Error output
746:  �[m�[33mskipped�[m should_complete_successfully(47)
747:  OneTimeSetUp: Not sure the finish criteria is correct
748:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
749:  �[90m  Standard output
750:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
751:  �[90m  Error output
752:  �[m�[33mskipped�[m should_complete_successfully(48)
753:  OneTimeSetUp: Not sure the finish criteria is correct
754:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
755:  �[90m  Standard output
756:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
757:  �[90m  Error output
758:  �[m�[33mskipped�[m should_complete_successfully(49)
759:  OneTimeSetUp: Not sure the finish criteria is correct
760:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
761:  �[90m  Standard output
762:  �[90m    OneTimeSetUp: Not sure the finish criteria is correct
763:  �[90m  Error output
764:  �[m�[33mskipped�[m read_whilst_ack_doesnt_deadlock_with_request_response_dispatcher
765:  OneTimeSetUp: very long test
766:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
767:  �[90m  Standard output
768:  �[90m    OneTimeSetUp: very long test
769:  �[90m  Error output
770:  �[m�[33mskipped�[m on_read_from_beginning
771:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
772:  �[33mskipped�[m on_read_from_beginning
773:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
774:  �[31mfailed�[m should_receive_the_correct_stats �[90m(20s 238ms)�[m
775:  OneTimeSetUp: System.Exception : When Failed
776:  ----> NUnit.Framework.AssertionException :   Reached too many retries to get all subscriptions live!
777:  Expected: not equal to 20
778:  But was:  20
779:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
780:  �[31m  OneTimeSetUp: System.Exception : When Failed
781:  ----> NUnit.Framework.AssertionException :   Reached too many retries to get all subscriptions live!
...

793:  at NUnit.Framework.Internal.Execution.CompositeWorkItem.PerformOneTimeSetUp()
794:  --AssertionException
795:  �[90m    at NUnit.Framework.Assert.ReportFailure(String message)
796:  at NUnit.Framework.Assert.ReportFailure(ConstraintResult result, String message, Object[] args)
797:  at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression, String message, Object[] args)
798:  at NUnit.Framework.Assert.AreNotEqual(Object expected, Object actual, String message, Object[] args)
799:  at KurrentDB.Core.Tests.Services.Transport.Grpc.PersistentSubscriptionTests.GetInfoTests.WaitForSubscriptionsToBeLive(PersistentSubscriptionsClient client, CallOptions callOptions) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Services\Transport\Grpc\PersistentSubscriptionTests\GetInfoTests.cs:413�[90m
800:  at KurrentDB.Core.Tests.Services.Transport.Grpc.PersistentSubscriptionTests.GetInfoTests.when_listing_persistent_subscriptions_on_all_stream`2.When() in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Services\Transport\Grpc\PersistentSubscriptionTests\GetInfoTests.cs:186�[90m
801:  at KurrentDB.Core.Tests.TaskExtensions.WithTimeout(Task task, TimeSpan timeout, Action onFail, String memberName, String sourceFilePath, Int32 sourceLineNumber) in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Testing\TaskExtensions.cs:32�[90m
802:  at KurrentDB.Core.Tests.Services.Transport.Grpc.StreamsTests.GrpcSpecification`2.SetUp() in D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\Services\Transport\Grpc\StreamsTests\GrpcSpecification.cs:71�[90m
803:  �[m�[33mskipped�[m not_care_about_trailing_slash
804:  ignore
805:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
806:  �[90m  Standard output
807:  �[90m    ignore
808:  �[90m  Error output
809:  �[m�[33mskipped�[m not_care_about_trailing_slash2
810:  ignore
811:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
812:  �[90m  Standard output
813:  �[90m    ignore
814:  �[90m  Error output
815:  �[m�[33mskipped�[m not_care_about_trailing_slash
816:  ignore
817:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
818:  �[90m  Standard output
819:  �[90m    ignore
820:  �[90m  Error output
821:  �[m�[33mskipped�[m not_care_about_trailing_slash2
822:  ignore
823:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
824:  �[90m  Standard output
825:  �[90m    ignore
826:  �[90m  Error output
827:  �[m�[33mskipped�[m client_should_send_intermediate_certificate_during_handshake
828:  Skipped since it adds an intermediate certificate to the current user's store
829:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
830:  �[90m  Standard output
831:  �[90m    Skipped since it adds an intermediate certificate to the current user's store
832:  �[90m  Error output
833:  �[m�[33mskipped�[m Test
834:  long running
835:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
836:  �[90m  Standard output
837:  �[90m    long running
838:  �[90m  Error output
839:  �[m�[33mskipped�[m throw_argumentnullexception_when_given_null_data
840:  ReadOnlyMemory will always convert back to empty array if initialized with null array.
841:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
842:  �[90m  Standard output
843:  �[90m    ReadOnlyMemory will always convert back to empty array if initialized with null array.
844:  �[90m  Error output
845:  �[m�[33mskipped�[m when_seeking_greater_than_2gb
846:  Requires a 4gb file
847:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
848:  �[90m  Standard output
849:  �[90m    Requires a 4gb file
850:  �[90m  Error output
851:  �[m�[33mskipped�[m does_not_allow_checkpoint_to_point_into_the_middle_of_completed_chunk_when_not_enough_actual_data
852:  We do not check this as it is too erroneous to read ChunkFooter from ongoing chunk...
853:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
854:  �[90m  Standard output
855:  �[90m    We do not check this as it is too erroneous to read ChunkFooter from ongoing chunk...
856:  �[90m  Error output
857:  �[m�[33mskipped�[m does_not_allow_first_completed_chunk_when_checkpoint_is_zero
858:  Due to truncation such situation can happen, so must be considered valid.
859:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
860:  �[90m  Standard output
861:  �[90m    Due to truncation such situation can happen, so must be considered valid.
862:  �[90m  Error output
863:  �[m�[33mskipped�[m does_not_allow_next_new_completed_chunk_when_checksum_is_exactly_in_between_two_chunks
864:  Due to truncation such situation can happen, so must be considered valid.
865:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
866:  �[90m  Standard output
867:  �[90m    Due to truncation such situation can happen, so must be considered valid.
868:  �[90m  Error output
869:  �[m�[33mskipped�[m when_checkpoint_is_on_boundary_of_new_chunk_and_last_chunk_is_truncated_but_not_completed_exception_is_thrown
870:  Not valid test now after disabling size validation on ongoing TFChunk 
871:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
872:  �[90m  Standard output
873:  �[90m    Not valid test now after disabling size validation on ongoing TFChunk 
874:  �[90m  Error output
875:  �[m�[33mskipped�[m with_wrong_size_file_less_than_checksum_throws
876:  Not valid test now after disabling size validation on ongoing TFChunk 
877:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
878:  �[90m  Standard output
879:  �[90m    Not valid test now after disabling size validation on ongoing TFChunk 
880:  �[90m  Error output
881:  �[m�[33mskipped�[m does_not_allow_next_new_chunk_when_checksum_is_exactly_in_between_two_chunks_and_last_is_multi_chunk
882:  Due to truncation such situation can happen, so must be considered valid.
883:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
884:  �[90m  Standard output
885:  �[90m    Due to truncation such situation can happen, so must be considered valid.
886:  �[90m  Error output
887:  �[m�[33mskipped�[m null_message_should_throw
888:  We do not check each message for null for performance reasons.
889:  from D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64)
890:  �[90m  Standard output
891:  �[90m    We do not check each message for null for performance reasons.
892:  �[90m  Error output
893:  �[m�[mD:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\KurrentDB.Core.Tests.dll (net10.0|x64) �[31mfailed with 7 error(s)�[m �[90m(13m 00s 609ms)�[m
894:  Exit code: 2
...

2178:  should_complete_successfully(36): OneTimeSetUp: Not sure the finish criteria is correct
2179:  should_complete_successfully(37): OneTimeSetUp: Not sure the finish criteria is correct
2180:  should_complete_successfully(38): OneTimeSetUp: Not sure the finish criteria is correct
2181:  should_complete_successfully(39): OneTimeSetUp: Not sure the finish criteria is correct
2182:  should_complete_successfully(40): OneTimeSetUp: Not sure the finish criteria is correct
2183:  should_complete_successfully(41): OneTimeSetUp: Not sure the finish criteria is correct
2184:  should_complete_successfully(42): OneTimeSetUp: Not sure the finish criteria is correct
2185:  should_complete_successfully(43): OneTimeSetUp: Not sure the finish criteria is correct
2186:  should_complete_successfully(44): OneTimeSetUp: Not sure the finish criteria is correct
2187:  should_complete_successfully(45): OneTimeSetUp: Not sure the finish criteria is correct
2188:  should_complete_successfully(46): OneTimeSetUp: Not sure the finish criteria is correct
2189:  should_complete_successfully(47): OneTimeSetUp: Not sure the finish criteria is correct
2190:  should_complete_successfully(48): OneTimeSetUp: Not sure the finish criteria is correct
2191:  should_complete_successfully(49): OneTimeSetUp: Not sure the finish criteria is correct
2192:  read_whilst_ack_doesnt_deadlock_with_request_response_dispatcher: OneTimeSetUp: very long test
2193:  �[31mSetup failed for test fixture KurrentDB.Core.Tests.Services.Transport.Grpc.PersistentSubscriptionTests.GetInfoTests+when_listing_persistent_subscriptions_on_all_stream<LogFormat+V2,String>
2194:  �[m�[31mSystem.Exception : When Failed
2195:  �[31m  ----> NUnit.Framework.AssertionException :   Reached too many retries to get all subscriptions live!
...

2262:  throw_argumentnullexception_when_given_null_data: ReadOnlyMemory will always convert back to empty array if initialized with null array.
2263:  when_seeking_greater_than_2gb: Requires a 4gb file
2264:  does_not_allow_checkpoint_to_point_into_the_middle_of_completed_chunk_when_not_enough_actual_data: We do not check this as it is too erroneous to read ChunkFooter from ongoing chunk...
2265:  does_not_allow_first_completed_chunk_when_checkpoint_is_zero: Due to truncation such situation can happen, so must be considered valid.
2266:  does_not_allow_next_new_completed_chunk_when_checksum_is_exactly_in_between_two_chunks: Due to truncation such situation can happen, so must be considered valid.
2267:  when_checkpoint_is_on_boundary_of_new_chunk_and_last_chunk_is_truncated_but_not_completed_exception_is_thrown: Not valid test now after disabling size validation on ongoing TFChunk 
2268:  with_wrong_size_file_less_than_checksum_throws: Not valid test now after disabling size validation on ongoing TFChunk 
2269:  does_not_allow_next_new_chunk_when_checksum_is_exactly_in_between_two_chunks_and_last_is_multi_chunk: Due to truncation such situation can happen, so must be considered valid.
2270:  Base dir: D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0
2271:  Result: D:\a\KurrentDB\KurrentDB\src\KurrentDB.Core.Tests\bin\release\net10.0\filename
2272:  null_message_should_throw: We do not check each message for null for performance reasons.
2273:  NUnit Adapter 5.2.0.0: Test execution complete
2274:  In process file artifacts produced:
2275:  - D:\a\KurrentDB\KurrentDB\test-results\6f576ad9-28d1-43ca-8447-ef8ce2a4357b.coverage
2276:  - D:\a\KurrentDB\KurrentDB\test-results\runneradmin_runnervmmeel0_2026-04-22_17_29_51.7509298.trx
2277:  �[31mTest run summary: Failed!
2278:  �[m  total: 10910
2279:  �[31m  failed: 7
2280:  �[m  succeeded: 10800
2281:  skipped: 103
2282:  duration: 13m 01s 433ms
2283:  Test run completed with non-success exit code: 2 (see: https://aka.ms/testingplatform/exitcodes)
2284:  ##[error]Process completed with exit code 2.
2285:  Post job cleanup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant