All tests that use `assertRpcsEventuallyGoToGivenServers` method were
reporting successes when the assertion failed:
- FailoverTest
- ChangeBackendServiceTest
- RemoveNegTest
This provides a move-only alternative to std::function.
fix oracle and engine factory
fix generate_projects for any_invocable
fix
format & iwyu
Automated change: Fix sanity tests (#30205)
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
This commit adds a new overloaded version of `CreateBinderChannel`, that accepts
an intent URI (which should be able to be parsed by
https://developer.android.com/reference/android/content/Intent#parseUri(java.lang.String,%20int) )
for specifying the component to connect to.
Later we will deprecate the old APIs that accepts `package_name`,
`class_name`, and `action_name` separately. Intent URI seems to be a
better and more flexible way to specify a component to connect to.
`grpc.binder.custom_android_intent_action_name` channel arg is deprecated now.
User should use URI to specify custom action instead.
* [arena] Add ManagedNew(), gtest-ify test
Add a ManagedNew() method to Arena that calls the relevant destructor at Arena destruction time.
There are some cases coming up in the promise based call work where this becomes super convenient, and I expect it's likely that there are other places that's true too.
* Automated change: Fix sanity tests
* review feedback
* use construct/destruct more
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Rename ResolveName to LookupHostname (same as EventEngine)
* Add stubs and no-op impls for LookupTXT and LookupSRV
* add native resolver tests that assert unimplemented
* extract custom name_server-setting logic and remove goto
* Separate SRV queries from grpc_dns_lookup_ares
* add necessary fixits before merging
* Automated change: Fix sanity tests
* fix missing ExecCtx on resolver tests
* separate out TXT lookup from hostname lookup (now all 3 are separate)
* rm DNS and update docs
* fix the fixer (forgot to add deps to BUILD)
* remove unused SRV and TXT args from ares hostname lookup method
* rename hostname-only ares dns lookup method
* refactor AresRequest using template method pattern
* Add name_server to Ares LookupHostname internals (needs iomgr API change)
* fix resolver test, callback should not be called on cancellation
* implement Ares-iomgr SRV and TXT lookup methods (verified manually)
Used a custom bind server with some redacted tests from
`resolve_address_test` to ensure both are working as expected.
* cleanup cruft
* unify common ares request setup logic between A, AAAA, TXT, and SRV
* generate_projects
* comment out unused args
* DNSResolver iomgr API uses Duration; hostname has all args now
* rm stale TODOs
* windows fix - bad variable name
* windows fix
* Automated change: Fix sanity tests
* reviewer feedback
* make protected members private
* move common properties to AresRequest base class
* localhost TXT results are empty, not an error
* reviewer feedback
* fix
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
* [WIP] Precondition ChannelArgs with a default EventEngine
This is a step towards using ChannelArgs as the primary means of
accessing EventEngine instances in gRPC-core. If not explicitly provided
by the application, a default EventEngine will populated into
ChannelArgs during preconditioning.
This is not a final state, we may want to enable ref-counting here
instead of using raw pointers. And a refactoring is in order to enable
GetObject instead of the more verbose
GetPointer<EventEngine>(GRPC_ARG_EVENT_ENGINE).
* Refactor ChannelArgs::GetObject to support non-conforming classes
This allows us to not expose `ChannelArgName` in the public interface.
* Add std::shared_ptr to ChannelArgs; Add EventEngine specialization
* subchannel fix; cleanup
* replace GetSharedPtr with overloads of GetObjectRef
* Automated change: Fix sanity tests
* fix the fixer
* fix raw pointer retrieval from stored shared_ptr
* Make GetObjectRef<EventEngine> work (not general to shared_ptr)
* enable shared_ptr ChannelArg support for shared_from_this
* use new EventEngines for tests (not the default global)
* Automated change: Fix sanity tests
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
* Bump version to 1.47.0-pre1 (on v1.47.x branch) (#29830)
* bump version to 1.47.0-pre1
* regenerate projects
* xDS: Workaround to get gRPC clients working with istio (#29841) (#29850)
* xDS: Workaround to get gRPC clients working with istio
* Formatting
* Comment test too
* Disable instead of commenting
* Support for prebuilt Ruby binary on x64-mingw-ucrt platform (#29684) (#29868)
* Add support for prebuilt Ruby binary on x64-mingw-ucrt platform, which is used for Windows RubyInstaller Ruby 3.1+
Co-authored-by: Johnny Shields <johnny.shields@gmail.com>
* use constraints value in @platforms instead of @bazel_tools//platforms https://github.com/bazelbuild/bazel/issues/8622 (#30019)
* Set Correct Platform Tag in Wheels on Mac OS with Python 3.10 (#29857) (#30026)
* Attempt to set correct platform on Mac OS
* Add some debug
* Make it fail
* Print more
* Try again
* Maybe it's an ordering issue?
* Get logs back
* Try copying distutils to see exactly what is being used
* Actually export the variable
* I just love debugging with CI
* One directory higher this time
* Try with an upgraded Python install
* Fix version
* Rebreak
* Try setting it even earlier?
* Unbreak
* Try explicitly renaming the artifacts
* Fix
* I am about ready to start NAT hole punching for SSH
* Break things for logs
* Whoops
* Clean up
* Shellcheck
* xds-k8s jobs: standardize TESTING_VERSION (#30027) (#30048)
This Addresses the issue with skips not working in golang tests, ref b/235688697.
1. Unifies `TESTING_VERSION` detection in grpc_xds_k8s_install_test_driver.sh - new approach applicable to all languages.
2. Use `TESTING_VERSION` in all build files in `--testing_version` and when tagging docker images. This will be backported to all active test branches. Build Scripts in all other languages will be updated as well.
* Bump Release Version to 1.47.0 (#30073)
* bump version to 1.47.0
* regenerate projects
* Using string rep for status-time (#30123) (#30145)
* tell MSVC to build grpc with utf-8 (#30003) (#30153)
* tell MSVC to build grpc with utf-8
fix#29979
* generate_projects
Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: Richard Belleville <rbellevi@google.com>
Co-authored-by: apolcyn <apolcyn@google.com>
Co-authored-by: Johnny Shields <johnny.shields@gmail.com>
Co-authored-by: Ara Nguyen <91614797+aranguyen@users.noreply.github.com>
Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
Co-authored-by: Esun Kim <veblush@google.com>
Co-authored-by: hongnod <6680267+hongnod@users.noreply.github.com>
Co-authored-by: AJ Heller <hork@google.com>
* use max_frame_size to control encrypted frame sizes on the sender
* Add comment
* adding logic to set max_frame_size in chttp2 transport and protecting it under a flag
* fix typo
* fix review comments
* set max frame size usage in endpoint_tests
* update endpoint_tests
* adding an interception layer to secure_endpoint_test
* add comments
* reverting some mistaken changes
* Automated change: Fix sanity tests
* try increasing deadline to check if msan passes
* Automated change: Fix sanity tests
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
* use max_frame_size to control encrypted frame sizes on the sender
* Add a flag to control usage of min_progress_size in TCP for receive buffer allocation
* revert changes to secure_endpoint and move them over to another PR
* add min_progress_size to tcp_posix_test
* update tcp_posix_test to assert fail on min_progerss_size and fix bug in min_progress_size handling in tcp_posix.cc
* fix corner case
* add a static cast
* Tryonly running fetch_build_eggs once
* Run pip freeze
* Use the correct pip
* Try explicitly printing stacktrace
* Try to pin/upgrade the wheel package
* Try running only 3.8
* Show the initial state of the egg directory
* Whoops
* More permissive
* What does this button do?
* Try just 3.9
* Try 3.10
* Back to 3.8
* Try pre-installing protobuf
* Clean up
* Clean up better
* update win RBE docker image and toolchain
and switch win RBE builds to using it.
* delete legacy RBE windows toolchain config
* switching to VS2019 makes #28544 obsolete
* replace darwin checks in extconf.rb to exclude TruffleRuby
* inherit RANLIB and STRIP from RbConfig, set LDXX
* enable overriding ranlib command in top-level makefile
* ensure the -no_warning_for_no_symbols flag is only used with Apple's ranlib
* don't embed openssl & zlib on truffleruby
* add RbConfig's cppflag to CPPFLAGS when using TruffleRuby
* this ensure the paths to find the system's OpenSSL are set up correctly with TruffleRuby (includes being able to find an OpenSSL installed via Homebrew etc)
* don't statically link standard libraries on Linux with Truffleruby
* This does not work when compiling to bitcode.
* Prefer SIGTERM to SIGQUIT for graceful shutdown in examples
* Overriding SIGQUIT is suboptimal, for example on JVM where it is very
useful to dump the thread stacktraces.
* Keep the rb_tr_abi_version symbol for TruffleRuby in grpc_c.so
* Otherwise TruffleRuby cannot verify the ABI version is correct.
* See https://github.com/oracle/truffleruby/issues/2386
* Use RbConfig::CONFIG['STRIP'] instead of just `strip`
* Use a local variable for apple_toolchain for consistency
* Add a comment about -static-libgcc -static-libstdc++ and TruffleRuby
* Split comment into two for openssl/zlib
Co-authored-by: Nicolas Laurent <nicolas.laurent@oracle.com>