mirror of https://github.com/grpc/grpc-java.git
Decouples grpc-core with census, while still preserve the default integration of census in grpc-core. Users wishing to enable census needs to add grpc-census to their runtime classpath.
- Created a grpc-census module:
- Moved CensusStatsModule.java and CensusTracingModule.java into grpc-census from grpc-core. CensusModuleTests.java is also moved. They now belong to io.grpc.census package.
Moved DeprecatedCensusConstants.java into io.grpc.census.internal (is this necessary?) in grpc-census.
- Created CensusStatsAccessor.java and CensusTracingAccessor.java, which are used to create census ClientInterceptor and ServerStreamTracer.Factory.
- Everything in grpc-census are package private, except the accessor classes. They only publicly expose ClientInterceptor and ServerStreamTracer.Factory, no Census specific types are exposed.
- Use runtime reflection to load and apply census stats/tracing to channel/server builders, if grpc-census is found in runtime classpath.
- Removed special APIs on AbstractManagedChannelImplBuilder and AbstractServerImplBuilder for overriding census module. They are only used for testing. Now we changed tests to apply Census ClientInterceptor and ServerStreamTracer.Factory just as normal interceptor/stream tracer factory. Test writer is responsible for taking care of the ordering concerns of interceptors and stream tracer factories.
|
||
|---|---|---|
| .. | ||
| app | ||
| README.md | ||
| build.gradle | ||
| settings.gradle | ||
| start-emulator.sh | ||
| wait-for-emulator.sh | ||
README.md
gRPC Android test App
Implements gRPC integration tests in an Android App.
TODO(madongfly) integrate this App into the gRPC-Java build system.
In order to build this app, you need a local.properties file under this directory which specifies the location of your android sdk:
sdk.dir=/somepath/somepath/sdk
Connect your Android device or start the emulator:
$ ./start-emulator.sh <AVD name> & ./wait-for-emulator.sh
Start test server
Start the test server by:
$ ../run-test-server.sh
Manually test
Install the App by:
$ ../gradlew installDebug
Then manually test it with the UI.
Instrumentation tests
Instrumentation tests must be run on a connected device or emulator. Run with the following gradle command:
$ ../gradlew connectedAndroidTest \
-Pandroid.testInstrumentationRunnerArguments.server_host=10.0.2.2 \
-Pandroid.testInstrumentationRunnerArguments.server_port=8080 \
-Pandroid.testInstrumentationRunnerArguments.use_tls=true \
-Pandroid.testInstrumentationRunnerArguments.server_host_override=foo.test.google.fr \
-Pandroid.testInstrumentationRunnerArguments.use_test_ca=true \
-Pandroid.testInstrumentationRunnerArguments.test_case=all