* Temporarily require ExecCtx to be on the thread's stack for EventEngine
There's a migration path that allows us to remove this requirement
eventually, but for now it is the simplest way forward. After
`ExecCtx::Run` and `grpc_timer_*` calls have been replaced, this can be
removed.
* Flush ExecCtx on destruction to block on pending callbacks
This allows implementers to select which subset of the conformance test
suite they wish to exercise with their implementation. This was a
request from the fuchsia team, and may be useful for partial
implementations that are composed into a complete EventEngine solution.
Prior to this change, when the ruby generator tried to reference an entity that was not part of the same package
(or a direct parent package) and the package contains underscores,
the result would simply uppercase the first character.
It should however uppercase each letter that proceeds an underscore and remove underscores.
i.e.
```
package my_package.service;
import "my_package/data.proto";
service MyService {
rpc Test (data.Request) returns data.Response {}
}
```
Was
```ruby
# ...
rpc :Test, My_package::Data::REquest, My_package::Data::Response
# ...
```
Should be:
```ruby
# ...
rpc :Test, MyPackage::Data::REquest, My_package::Data::Response
# ...
```
We were mistaken before when we were testing _pb2.py files being
generated in one directory and _pb2_grpc.py files being generated in
another directory. Sure, that was a thing our code generator could do,
but because of the way paths and packages work in Python it wasn't a
realistic use case for actual users.
This test now tests _pb2.py files and _pb2_grpc.py files being
generated either together or independently of one another, and if
independently, in either order. Looking forward to an eventual
py_grpc_library Bazel rule, that's what actually matters.
package names. Make sure they work as intended.
This is based on []
Change on 2015/01/08 by yangg <yangg@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83558743