Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(#554) Fixes to get couple of tests running cleanly in ASAN-builds #555

Merged
merged 2 commits into from
Mar 22, 2023

Conversation

gapisback
Copy link
Collaborator

This commit fixes minor errors in 2 tests (io_apis_test, filter_test) to get them running cleanly in ASAN-builds.

@netlify
Copy link

netlify bot commented Mar 22, 2023

Deploy Preview for splinterdb canceled.

Name Link
🔨 Latest commit 4dc37ff
🔍 Latest deploy log https://app.netlify.com/sites/splinterdb/deploys/641b7399d4e35900087d60be

Examples:"
echo " INCLUDE_SLOW_TESTS=true ./test.sh run_btree_tests"
echo " INCLUDE_SLOW_TESTS=true ./test.sh run_splinter_functionality_tests"
echo " INCLUDE_SLOW_TESTS=true ./test.sh nightly_cache_perf_tests"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slightly unrelated change. I needed a way to quickly re-test batches of tests run by this script under ASAN build modes. So, added this new capability to run a set of tests w/o having to wait for full runs to complete to validate a fix.

if [ $# -ge 1 ]; then

# shellcheck disable=SC2048
$*
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is where the support to re-run manually granular collection of tests is added. This will help expedite dev turnaround during fix stabilization and re-tests.

@gapisback
Copy link
Collaborator Author

gapisback commented Mar 22, 2023

With these two fixes, my slow re-run of test.sh passes clean in ASAN build-mode. (MSAN build-mode tests are still running.)

FILE: ~/tmp/test.main.asan.slow.out

638 Wed Mar 22 12:26:30 PDT 2023 **** SplinterDB Test Suite Execution Times ****
639
640 Fast unit tests                                                       :  124s [  0h  2m  4s ]
641 Splinter inserts test                                                 :  249s [  0h  4m  9s ]
642 Splinter lookups test                                                 :  177s [  0h  2m 57s ]
643 Splinter print diagnostics test                                       :  254s [  0h  4m 14s ]
644 Functionality test, key size=8 bytes                                  :   38s [  0h  0m 38s ]
645 Functionality test, with default key size                             :   36s [  0h  0m 36s ]
646 Functionality test, default key size, with background threads         :   35s [  0h  0m 35s ]
647 Functionality test, key size=maximum (102 bytes)                      :   42s [  0h  0m 42s ]
648 Very quick Performance test                                           :    5s [  0h  0m  5s ]
649 Quick Performance test with bg-threads                                :    5s [  0h  0m  5s ]
650 Performance test                                                      :  321s [  0h  5m 21s ]
651 BTree test, key size=8 bytes                                          : 1173s [  0h 19m 33s ]
652 BTree test, with default key size                                     :  981s [  0h 16m 21s ]
653 BTree test, key size=100 bytes                                        :  647s [  0h 10m 47s ]
654 BTree Perf test                                                       :    0s [  0h  0m  0s ]
655 Cache test                                                            :   11s [  0h  0m 11s ]
656 Log test                                                              :    1s [  0h  0m  1s ]
657 Filter test                                                           :   11s [  0h  0m 11s ]
658 All Tests                                                             : 4397s [  1h 13m 17s ]

@gapisback
Copy link
Collaborator Author

Slow running tests from test.sh in MSAN build-mode are also running clean now:

File: ~/tmp/test.rel-msan.slow.out

637 ALL PASSED
638 Wed Mar 22 13:46:20 PDT 2023 **** SplinterDB Test Suite Execution Times ****
639
640 Fast unit tests                                                       :   66s [  0h  1m  6s ]
641 Splinter inserts test                                                 :  105s [  0h  1m 45s ]
642 Splinter lookups test                                                 :   96s [  0h  1m 36s ]
643 Splinter print diagnostics test                                       :  107s [  0h  1m 47s ]
644 Functionality test, key size=8 bytes                                  :   14s [  0h  0m 14s ]
645 Functionality test, with default key size                             :   14s [  0h  0m 14s ]
646 Functionality test, default key size, with background threads         :   14s [  0h  0m 14s ]
647 Functionality test, key size=maximum (102 bytes)                      :   16s [  0h  0m 16s ]
648 Very quick Performance test                                           :    2s [  0h  0m  2s ]
649 Quick Performance test with bg-threads                                :    1s [  0h  0m  1s ]
650 Performance test                                                      :  162s [  0h  2m 42s ]
651 BTree test, key size=8 bytes                                          :  401s [  0h  6m 41s ]
652 BTree test, with default key size                                     :  353s [  0h  5m 53s ]
653 BTree test, key size=100 bytes                                        :  206s [  0h  3m 26s ]
654 BTree Perf test                                                       :    0s [  0h  0m  0s ]
655 Cache test                                                            :    9s [  0h  0m  9s ]
656 Log test                                                              :    1s [  0h  0m  1s ]
657 Filter test                                                           :    5s [  0h  0m  5s ]
658 All Tests                                                             : 1694s [  0h 28m 14s ]
659
660 Wed Mar 22 14:14:34 PDT 2023 End SplinterDB Test Suite Execution.

…ng function.

This commit now allows running as "test.sh <fn-name>" interface, where
the name of the driving function executing a batch of tests can be
run independently, without having to go through full execution of all
tests. This helps developers shorten their fix-dev-test cycle, especially
when validating quick-fixes for long-running tests, like ASAN / MSAN builds.
This commit fixes minor errors in 2 tests (io_apis_test, filter_test)
to get them running cleanly in ASAN-builds.
Copy link
Member

@rosenhouse rosenhouse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine

@gapisback gapisback merged commit 9037ebe into main Mar 22, 2023
@gapisback gapisback deleted the agurajada/asan-fixes branch March 22, 2023 22:31
@gapisback gapisback linked an issue Mar 23, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Some tests are failing in ASAN-build mode in /main @ SHA d9fcc407
3 participants