Fix for failing throws_on_invalid_pragma_in_config_file test on Windows#1742
Merged
MichaelOrlov merged 1 commit intorollingfrom Jul 13, 2024
Conversation
- The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
clalancette
approved these changes
Jul 12, 2024
Contributor
clalancette
left a comment
There was a problem hiding this comment.
This looks reasonable to me with green CI.
Contributor
Author
|
Pulls: #1742 |
Contributor
Author
|
https://github.com/Mergifyio backport jazzy iron humble |
✅ Backports have been createdDetails
|
mergify bot
pushed a commit
that referenced
this pull request
Jul 13, 2024
…1742) - The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai> (cherry picked from commit 055935d)
mergify bot
pushed a commit
that referenced
this pull request
Jul 13, 2024
…1742) - The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai> (cherry picked from commit 055935d)
mergify bot
pushed a commit
that referenced
this pull request
Jul 13, 2024
…1742) - The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai> (cherry picked from commit 055935d) # Conflicts: # rosbag2_storage_default_plugins/src/rosbag2_storage_default_plugins/sqlite/sqlite_wrapper.cpp
MichaelOrlov
pushed a commit
that referenced
this pull request
Jul 13, 2024
…1742) (#1746) - The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai> (cherry picked from commit 055935d) Co-authored-by: Michael Orlov <michael.orlov@apex.ai>
MichaelOrlov
pushed a commit
that referenced
this pull request
Jul 13, 2024
…1742) (#1747) - The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai> (cherry picked from commit 055935d) Co-authored-by: Michael Orlov <michael.orlov@apex.ai>
MichaelOrlov
pushed a commit
that referenced
this pull request
Jul 16, 2024
… on Windows (backport #1742) (#1748) * Fix for failing throws_on_invalid_pragma_in_config_file on Windows (#1742) - The failure was because database file was not properly closed after throwing exception from the SqliteWrapper constructor and std::filesystem::remove_all(..) failed to delete temporary folder in the test fixture destructor. - Added reset for prepared sql statement before throwing exception. - Try to close database in constructor if we got exception after opening it since destructor will not be called in this case. Signed-off-by: Michael Orlov <michael.orlov@apex.ai> (cherry picked from commit 055935d) # Conflicts: # rosbag2_storage_default_plugins/src/rosbag2_storage_default_plugins/sqlite/sqlite_wrapper.cpp * Address merge conflicts Signed-off-by: Michael Orlov <michael.orlov@apex.ai> --------- Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: Michael Orlov <michael.orlov@apex.ai>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
rosbag2/rosbag2_test_common/include/rosbag2_test_common/temporary_directory_fixture.hpp
Lines 37 to 40 in e860f65
with std::filesystem::remove_all(std::filesystem::path(temporary_dir_path_));
RCA (Root Cause Analysis)
The failure was because the database file was not properly closed after throwing an exception from the SqliteWrapper constructor, and std::filesystem::remove_all(..) failed to delete a temporary folder in the test fixture destructor.
Fixes