-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-39119: [C++] Refactor the Azure FS tests and filesystem class instantiation #39207
Conversation
|
1d96443
to
27eae54
Compare
std::string account_name_; | ||
std::string account_key_; | ||
bp::child server_process_; | ||
Status status_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No more awkward status_
being set on ctor now that Make
is used to construct the environments.
if (!options_res.ok() && options_res.status().IsCancelled()) { | ||
GTEST_SKIP() << options_res.status().message(); | ||
} else { | ||
suite_skipped_ = true; | ||
GTEST_SKIP() << options.status().message(); | ||
EXPECT_OK_AND_ASSIGN(options_, std::move(options_res)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kou I'm explicitly checking that the Status::IsCancelled()
to make sure other failures don't make the tests be skipped quietly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
I couldn't review all changes carefully because there are too many changes. But I trust you. :-)
AzureBackend backend = AzureBackend::Azure; | ||
AzureCredentialsKind credentials_kind = AzureCredentialsKind::Anonymous; | ||
/// \brief The backend to connect to: Azure or Azurite (for testing). | ||
AzureBackend backend = AzureBackend::kAzure; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we plan to autodetect the backend at some point? We do that in S3 (the DetectS3Backend
function).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that I have the environments, I think I can remove this option completely. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now that I have the environments, I think I can remove this option completely. 🤔
Do you plan to do that here or in a separate PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to do on this one, but this is used to configure the URLs in AzureOptions
, so I will do it in another PR where I'm adding more options to AzureOptions
and documenting it better.
The CI failures look unexpected, can you perhaps rebase on main? |
…ad of ConcatAbstractPath where applicable
4023774
to
4f45c67
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1. Let's see if tests are ok now.
After merging your PR, Conbench analyzed the 6 benchmarking runs that have been run so far on merge-commit 4e58f7c. There was 1 benchmark result indicating a performance regression:
The full Conbench report has more details. It also includes information about 2 possible false positives for unstable benchmarks that are known to sometimes produce them. |
…s instantiation (apache#39207) ### Rationale for this change This PR contains some unrelated improvements (like better docs) and some nitpicky fixes. The test refactoring makes it easier to see on which environments tests run and make them able to be instantiated with different options in the future once we extend the `AzureOptions`. ### What changes are included in this PR? - Random cleanups - Short namespace aliases - Refactoring of the tests (multiple environments, TYPED_TEST_SUITE, explicit preexisting data setup) - Cleanup of the `AzureOptions` class ### Are these changes tested? Yes. I created Azure Storage accounts to test with and without Hierarchical Namespace support. I also ran the tests in a shell without my environment variables to ensure the test-skipping behavior is correct. ### Are there any user-facing changes? Changes to `AzureOptions`, but since `AzureFileSystem` is not really used yet, these breaking changes won't be a problem. * Closes: apache#39119 Authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Signed-off-by: Felipe Oliveira Carvalho <felipekde@gmail.com>
…s instantiation (apache#39207) ### Rationale for this change This PR contains some unrelated improvements (like better docs) and some nitpicky fixes. The test refactoring makes it easier to see on which environments tests run and make them able to be instantiated with different options in the future once we extend the `AzureOptions`. ### What changes are included in this PR? - Random cleanups - Short namespace aliases - Refactoring of the tests (multiple environments, TYPED_TEST_SUITE, explicit preexisting data setup) - Cleanup of the `AzureOptions` class ### Are these changes tested? Yes. I created Azure Storage accounts to test with and without Hierarchical Namespace support. I also ran the tests in a shell without my environment variables to ensure the test-skipping behavior is correct. ### Are there any user-facing changes? Changes to `AzureOptions`, but since `AzureFileSystem` is not really used yet, these breaking changes won't be a problem. * Closes: apache#39119 Authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Signed-off-by: Felipe Oliveira Carvalho <felipekde@gmail.com>
Rationale for this change
This PR contains some unrelated improvements (like better docs) and some nitpicky fixes. The test refactoring makes it easier to see on which environments tests run and make them able to be instantiated with different options in the future once we extend the
AzureOptions
.What changes are included in this PR?
AzureOptions
classAre these changes tested?
Yes. I created Azure Storage accounts to test with and without Hierarchical Namespace support. I also ran the tests in a shell without my environment variables to ensure the test-skipping behavior is correct.
Are there any user-facing changes?
Changes to
AzureOptions
, but sinceAzureFileSystem
is not really used yet, these breaking changes won't be a problem.