Commit 8889662
committed
MB-52812: Fix engine benchmark fixture resource isolation
Improve ep_engine_benchmarks infrastructure with proper resource
isolation and intelligent test registration:
EngineFixture improvements:
- Use cb::io::mkdtemp() to create unique temporary directories instead of
hardcoded 'benchmarks-test', eliminating race conditions when multiple
benchmark instances run concurrently
- Store the generated dbname path as a member variable for proper cleanup
- Use fmt::format() for cleaner string composition
- Add defensive check before cleanup to prevent accidental deletion
CMakeLists.txt improvements:
- Normalize to lowercase CMake commands (modern convention)
- Remove unused GTest dependencies (pure benchmark suite)
- Streamline include directories
- Intelligently register 18 individual benchmark tests with CTest:
* Only run on non-sanitizer builds (avoid timeouts)
* Use separate test entries for each benchmark for targeted execution
* Regex filtering (--benchmark_filter=^name) to run benchmarks in
isolation
* Fast execution mode (--benchmark_min_time=0.0000001s)
- Document problematic benchmarks that need resolution
Change-Id: I06ce09315c9514b2dcc69a6a829d905f8965a7b1
Reviewed-on: https://review.couchbase.org/c/kv_engine/+/245350
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>1 parent 27f686e commit 8889662
3 files changed
Lines changed: 55 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
528 | 528 | | |
529 | 529 | | |
530 | 530 | | |
531 | | - | |
| 531 | + | |
532 | 532 | | |
533 | 533 | | |
534 | 534 | | |
535 | 535 | | |
536 | 536 | | |
537 | 537 | | |
538 | 538 | | |
539 | | - | |
540 | | - | |
541 | 539 | | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
546 | 587 | | |
547 | 588 | | |
548 | 589 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | | - | |
36 | | - | |
| 36 | + | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
58 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
59 | 62 | | |
60 | 63 | | |
61 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
0 commit comments