mirror of https://github.com/grpc/grpc.git
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
https://grpc.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tag:
Branch:
Tree:
030ecf60ec
1.64.1
alts-context-plumbing
artifacts
backport-v1.34.x-OvpI7f
create-pull-request/patch-0195084
create-pull-request/patch-02276f4
create-pull-request/patch-0417b88
create-pull-request/patch-05430a5
create-pull-request/patch-0738969
create-pull-request/patch-08642b1
create-pull-request/patch-0e113e3
create-pull-request/patch-0ee391c
create-pull-request/patch-130ec222
create-pull-request/patch-14ac6891
create-pull-request/patch-16be944
create-pull-request/patch-1e86ca58
create-pull-request/patch-23521be
create-pull-request/patch-3557573
create-pull-request/patch-35df344
create-pull-request/patch-37e3f17
create-pull-request/patch-3e79c88
create-pull-request/patch-44d7a7a
create-pull-request/patch-4512297
create-pull-request/patch-48966bd
create-pull-request/patch-4a3092a2
create-pull-request/patch-4e8e6b7
create-pull-request/patch-4feb98e
create-pull-request/patch-50b02da
create-pull-request/patch-539d75c
create-pull-request/patch-56d25ca
create-pull-request/patch-5c8858f
create-pull-request/patch-5e3fe08
create-pull-request/patch-5e73172
create-pull-request/patch-5f3d55c
create-pull-request/patch-605ef649
create-pull-request/patch-6303798
create-pull-request/patch-6f05b7d2
create-pull-request/patch-716b26e
create-pull-request/patch-71da53d
create-pull-request/patch-764faf9
create-pull-request/patch-78c8e11
create-pull-request/patch-7a9373b0
create-pull-request/patch-81f6130
create-pull-request/patch-81fe947
create-pull-request/patch-82055d1
create-pull-request/patch-883e5f7
create-pull-request/patch-895f163
create-pull-request/patch-8e951e1
create-pull-request/patch-91bcf9e
create-pull-request/patch-92e95881
create-pull-request/patch-93f0266
create-pull-request/patch-999195a
create-pull-request/patch-a00d5b4
create-pull-request/patch-a1ce253
create-pull-request/patch-a526a09
create-pull-request/patch-aeb96e9
create-pull-request/patch-afb307fb
create-pull-request/patch-b1b1b04
create-pull-request/patch-b32d94d
create-pull-request/patch-b7592cd9
create-pull-request/patch-b852e47
create-pull-request/patch-bad57a4
create-pull-request/patch-baf7250
create-pull-request/patch-bcabde3
create-pull-request/patch-bcd6684
create-pull-request/patch-c0890d9
create-pull-request/patch-c1d31b5
create-pull-request/patch-c6c1c6a
create-pull-request/patch-c81bdf7
create-pull-request/patch-c879356
create-pull-request/patch-c921002
create-pull-request/patch-c94a923
create-pull-request/patch-cdf4186a
create-pull-request/patch-d562c5b
create-pull-request/patch-d843ffe
create-pull-request/patch-da8686c
create-pull-request/patch-daccc43
create-pull-request/patch-de59548
create-pull-request/patch-de5dcee4
create-pull-request/patch-e097a32
create-pull-request/patch-e20a7252
create-pull-request/patch-e33af6c
create-pull-request/patch-e54c0db7
create-pull-request/patch-ea6c6bb
create-pull-request/patch-eeedd967
create-pull-request/patch-f00f68d
create-pull-request/patch-f1d14f7
create-pull-request/patch-f34844c
create-pull-request/patch-f678a96
create-pull-request/patch-f7fd9a5
create-pull-request/patch-f82c675
create-pull-request/patch-fbd47fd
create-pull-request/patch-fe396c6
dependabot/github_actions/github-actions-b79dc29373
dependabot/npm_and_yarn/examples/node/node-forge-1.3.1
dependabot/pip/setuptools-70.0.0
dependabot/pip/urllib3-1.26.19
dependabot/pip/zipp-3.19.1
develop
eugeneo-delete-array
eugeneo-maintainers
fix_protobuf_build
fix_regenerate_protos
gh-pages
go_release
interop_hook_server
larry-safran-patch-1
master
python/sync/typings
revert-28372-cfstream_test_fix
revert-28441-revert-28309-XdsRbacFilter
revert-28455-revert-28419-api-fuzzer-crash-bug
revert-28900-HttpRequestSSlCredentialsComparator
revert-28951-revert-28767-nextpromise
revert-29375-objc-layering-check
revert-30023-duration
revert-30252-ARGUE
revert-30896-rules_apple_bazel5
revert-31138-remove-grpcpp-codegen
revert-31204-compression-promise
revert-31481-reland-try
revert-31822-revert-31786-move-google-default-channel-creds-declaration
revert-32077-cf-event-engine-client
revert-32461-reland/ee-runafter-cpp-alarm
revert-32524-tasks/tests/orca_per_rpc
revert-32632-centralize-client-channel-resolver-selection
revert-32636-grpc_base_namespace
revert-32666-revert-32578-gft
revert-32706-invalidate_rbe_cache
revert-32844-ee-client-for-all-end2end-tests
revert-32909-fix-py-reflection-response
revert-32924-cf-event-engine-client
revert-32956-client-channel-resolver-fuzzer
revert-32968-disable-ee-end2end-tests
revert-33154-merge-fest
revert-33203-ram-rod
revert-33442-printExp
revert-33508-revert-33473-svc-cfg-ca
revert-33512-Revert33428
revert-33584-AcceptStreamLog
revert-33676-revert-33647-interop
revert-33939-tests/interop-session-affinity
revert-34129-tasks/import-rollback
revert-34515-revert-33969-checkAbortError
revert-34541-revert-34522-die-foul-beast
revert-36752-silience-gcc7
revert_python_3.13_pr
run_test_verbose_success
sergiitk-service_config
test_565724722
test_582489535
test_582692326
test_583078999
test_583500553
test_584065091
test_584545666
test_585692562
test_585737061
test_586188548
test_586576809
test_588131915
test_589060063
test_589910972
test_590118795
test_590128450
test_590129238
test_590826993
test_590845254
test_591146143
test_592612659
test_596967071
test_598879913
test_600541791
test_601845634
test_606709629
test_607737361
test_616189569
test_616253080
test_619662401
test_625436677
test_625488709
test_625538460
test_627143927
test_627516799
test_633352477
test_636309539
test_644148181
test_649154069
test_653702831
test_653824016
test_657265684
test_681606201
test_685282781
test_687702529
test_687702930
test_687703146
test_693807838
test_693841452
test_694178336
test_694187061
test_695495325
test_696559679
test_703351249
test_703557672
test_703932802
test_705168221
v1.0.x
v1.1.x
v1.10.x
v1.11.x
v1.12.x
v1.13.x
v1.14.x
v1.15.x
v1.16.x
v1.17.x
v1.18.x
v1.19.x
v1.2.x
v1.20.x
v1.21.x
v1.22.x
v1.23.x
v1.24.x
v1.25.x
v1.26.x
v1.27.x
v1.28.x
v1.29.x
v1.3.x
v1.30.x
v1.31.x
v1.32.x
v1.33.x
v1.34.x
v1.35.x
v1.36.x
v1.37.x
v1.38.x
v1.39.x
v1.4.x
v1.40.x
v1.41.x
v1.42.x
v1.43.x
v1.44.x
v1.45.x
v1.46.x
v1.47.x
v1.48.x
v1.49.x
v1.50.x
v1.51.x
v1.52.x
v1.53.x
v1.54.x
v1.55
v1.55.x
v1.56.x
v1.57.x
v1.58.x
v1.59.x
v1.6.x
v1.60.x
v1.61.x
v1.62.x
v1.63.x
v1.64.x
v1.65.x
v1.66.x
v1.67.x
v1.68.x
v1.69.x
v1.7.x
v1.8.x
v1.9.x
veblush-patch-1
veblush-patch-3
windows-endpoint
1.33.1
objective-c-v1.0.0-pre1
objective-c-v1.0.2
release-0_10
release-0_10_0
release-0_10_0-objectivec-0.6.0
release-0_10_1
release-0_10_1-node-0.10.1
release-0_10_2
release-0_11
release-0_11_0
release-0_11_1
release-0_11_1-objectivec-0.11.1
release-0_12
release-0_12_0
release-0_12_0-objectivec-0.12.0
release-0_13
release-0_13_0
release-0_13_0-objectivec-0.13.0
release-0_13_1
release-0_14
release-0_14_0
release-0_14_0-objective-c-0.14.0
release-0_14_0-objectivec-0.14.0
release-0_14_1
release-0_15
release-0_15_0
release-0_15_1
release-0_5
release-0_5_0
release-0_6
release-0_6_0
release-0_9
release-0_9_0
release-0_9_1
release-0_9_1-node-0.9.2
release-0_9_1-objectivec-0.5.1
release_test
v0.15.0
v0.15.2
v1.0.0
v1.0.0-pre2
v1.0.1
v1.0.1-pre1
v1.1.0
v1.1.0-pre1
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.10.0
v1.10.0-pre1
v1.10.0-pre2
v1.10.1
v1.10.1-pre1
v1.11.0
v1.11.0-pre1
v1.11.0-pre2
v1.11.1
v1.11.1-pre1
v1.12.0
v1.12.0-pre1
v1.12.1
v1.13.0
v1.13.0-pre1
v1.13.0-pre2
v1.13.0-pre3
v1.13.1
v1.14.0
v1.14.0-pre1
v1.14.0-pre2
v1.14.1
v1.14.2
v1.14.2-pre1
v1.15.0
v1.15.0-pre1
v1.15.1
v1.16.0
v1.16.0-pre1
v1.16.1
v1.16.1-pre1
v1.17.0
v1.17.0-pre1
v1.17.0-pre2
v1.17.0-pre3
v1.17.1
v1.17.1-pre1
v1.17.2
v1.18.0
v1.18.0-pre1
v1.19.0
v1.19.0-pre1
v1.19.1
v1.2.0
v1.2.0-pre2
v1.2.1
v1.2.2
v1.2.3
v1.2.4
v1.2.5
v1.20.0
v1.20.0-pre1
v1.20.0-pre2
v1.20.0-pre3
v1.20.1
v1.21.0
v1.21.0-pre1
v1.21.1
v1.21.2
v1.21.3
v1.21.3-pre1
v1.21.4
v1.21.4-pre1
v1.22.0
v1.22.0-pre1
v1.22.1
v1.23.0
v1.23.0-pre1
v1.23.1
v1.24.0
v1.24.0-pre1
v1.24.0-pre2
v1.24.1
v1.24.2
v1.24.3
v1.25.0
v1.25.0-pre1
v1.26.0
v1.26.0-pre1
v1.27.0
v1.27.0-pre1
v1.27.0-pre2
v1.27.1
v1.27.2
v1.27.3
v1.28.0
v1.28.0-pre1
v1.28.0-pre2
v1.28.0-pre3
v1.28.1
v1.28.2
v1.29.0
v1.29.1
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.3.5
v1.3.6
v1.3.7
v1.3.9
v1.30.0
v1.30.0-pre1
v1.30.1
v1.30.2
v1.31.0
v1.31.0-pre1
v1.31.0-pre2
v1.31.1
v1.32.0
v1.32.0-pre1
v1.33.0
v1.33.0-pre1
v1.33.0-pre2
v1.33.1
v1.33.2
v1.34.0
v1.34.0-pre1
v1.34.1
v1.35.0
v1.35.0-pre1
v1.36.0
v1.36.0-pre1
v1.36.1
v1.36.2
v1.36.3
v1.36.4
v1.37.0
v1.37.0-pre1
v1.37.1
v1.38.0
v1.38.0-pre1
v1.38.1
v1.39.0
v1.39.0-pre1
v1.39.1
v1.4.0
v1.4.0-pre1
v1.4.1
v1.4.2
v1.4.3
v1.4.4
v1.4.5
v1.4.6
v1.4.7
v1.40.0
v1.40.0-pre1
v1.41.0
v1.41.0-pre1
v1.41.0-pre2
v1.41.1
v1.42.0
v1.42.0-pre1
v1.43.0
v1.43.0-pre1
v1.43.2
v1.44.0
v1.44.0-pre1
v1.44.0-pre2
v1.44.1
v1.45.0
v1.45.0-pre1
v1.45.1
v1.45.2
v1.45.3
v1.46.0
v1.46.0-pre1
v1.46.0-pre2
v1.46.1
v1.46.2
v1.46.3
v1.46.4
v1.46.5
v1.46.6
v1.46.7
v1.47.0
v1.47.0-pre1
v1.47.1
v1.47.2
v1.47.3
v1.47.4
v1.47.5
v1.48.0
v1.48.0-pre1
v1.48.1
v1.48.2
v1.48.3
v1.48.4
v1.49.0
v1.49.0-pre1
v1.49.0-pre2
v1.49.0-pre3
v1.49.1
v1.49.2
v1.49.3
v1.49.4
v1.50.0
v1.50.0-pre1
v1.50.1
v1.50.2
v1.51.0
v1.51.0-pre1
v1.51.1
v1.51.2
v1.51.3
v1.52.0
v1.52.0-pre1
v1.52.0-pre2
v1.52.1
v1.52.2
v1.53.0
v1.53.0-pre1
v1.53.0-pre2
v1.53.1
v1.53.2
v1.54.0
v1.54.0-pre1
v1.54.0-pre2
v1.54.1
v1.54.2
v1.54.3
v1.55.0
v1.55.0-pre1
v1.55.0-pre2
v1.55.1
v1.55.3
v1.55.4
v1.56.0
v1.56.0-pre1
v1.56.0-pre2
v1.56.0-pre3
v1.56.1
v1.56.1-pre1
v1.56.2
v1.56.3
v1.56.4
v1.57.0
v1.57.0-pre1
v1.57.1
v1.58.0
v1.58.0-pre1
v1.58.1
v1.58.2
v1.58.3
v1.59.0
v1.59.0-pre1
v1.59.0-pre2
v1.59.1
v1.59.2
v1.59.3
v1.59.4
v1.59.5
v1.6.0
v1.6.0-pre1
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v1.6.5
v1.6.6
v1.6.7
v1.60.0
v1.60.0-pre1
v1.60.1
v1.60.2
v1.61.0
v1.61.0-pre1
v1.61.0-pre2
v1.61.0-pre3
v1.61.1
v1.61.2
v1.61.3
v1.62.0
v1.62.0-pre1
v1.62.1
v1.62.2
v1.62.3
v1.63.0
v1.63.0-pre1
v1.63.0-pre2
v1.63.1
v1.63.2
v1.64.0
v1.64.0-pre1
v1.64.0-pre2
v1.64.1
v1.64.2
v1.64.3
v1.65.0
v1.65.0-pre1
v1.65.0-pre2
v1.65.1
v1.65.2
v1.65.3
v1.65.4
v1.65.5
v1.66.0
v1.66.0-pre1
v1.66.0-pre2
v1.66.0-pre3
v1.66.0-pre4
v1.66.0-pre5
v1.66.1
v1.66.2
v1.67.0
v1.67.0-pre1
v1.67.1
v1.68.0
v1.68.0-pre1
v1.68.1
v1.68.2
v1.69.0-pre1
v1.7.0
v1.7.1
v1.7.2
v1.7.3
v1.8.0
v1.8.0-pre2
v1.8.1
v1.8.2
v1.8.3
v1.8.4
v1.8.5
v1.8.6
v1.9.0
v1.9.0-pre1
v1.9.0-pre2
v1.9.0-pre3
v1.9.1
${ noResults }
Craig Tiller
4674f2ccf7
Add a new binary that runs all core end2end tests in fuzzing mode. In this mode FuzzingEventEngine is substituted for the default event engine. This means that time is simulated, as is IO. The FEE gets control of callback delays also. In our tests the `Step()` function becomes, instead of a single call to `completion_queue_next`, a series of calls to that function and `FuzzingEventEngine::Tick`, driving forward the event loop until progress can be made. PR guide: --- **New binaries** `core_end2end_test_fuzzer` - the new fuzzer itself `seed_end2end_corpus` - a tool that produces an interesting seed corpus **Config changes for safe fuzzing** The implementation tries to use the config fuzzing work we've previously deployed in api_fuzzer to fuzz across experiments. Since some experiments are far too experimental to be safe in such fuzzing (and this will always be the case): - a new flag is added to experiments to opt-out of this fuzzing - a new hook is added to the config system to allow variables to re-write their inputs before setting them during the fuzz **Event manager/IO changes** Changes are made to the event engine shims so that tcp_server_posix can run with a non-FD carrying EventEngine. These are in my mind a bit clunky, but they work and they're in code that we expect to delete in the medium term, so I think overall the approach is good. **Changes to time** A small tweak is made to fix a bug initializing time for fuzzers in time.cc - we were previously failing to initialize `g_process_epoch_cycles` **Changes to `Crash`** A version that prints to stdio is added so that we can reliably print a crash from the fuzzer. **Changes to CqVerifier** Hooks are added to allow the top level loop to hook the verification functions with a function that steps time between CQ polls. **Changes to end2end fixtures** State machinery moves from the fixture to the test infra, to keep the customizations for fuzzing or not in one place. This means that fixtures are now just client/server factories, which is overall nice. It did necessitate moving some bespoke machinery into h2_ssl_cert_test.cc - this file is beginning to be problematic in borrowing parts but not all of the e2e test machinery. Some future PR needs to solve this. A cq arg is added to the Make functions since the cq is now owned by the test and not the fixture. **Changes to test registration** `TEST_P` is replaced by `CORE_END2END_TEST` and our own test registry is used as a first depot for test information. The gtest version of these tests: queries that registry to manually register tests with gtest. This ultimately changes the name of our tests again (I think for the last time) - the new names are shorter and more readable, so I don't count this as a regression. The fuzzer version of these tests: constructs a database of fuzzable tests that it can consult to look up a particular suite/test/config combination specified by the fuzzer to fuzz against. This gives us a single fuzzer that can test all 3k-ish fuzzing ready tests and cross polinate configuration between them. **Changes to test config** The zero size registry stuff was causing some problems with the event engine feature macros, so instead I've removed those and used GTEST_SKIP in the problematic tests. I think that's the approach we move towards in the future. **Which tests are included** Configs that are compatible - those that do not do fd manipulation directly (these are incompatible with FuzzingEventEngine), and those that do not join threads on their shutdown path (as these are incompatible with our cq wait methodology). Each we can talk about in the future - fd manipulation would be a significant expansion of FuzzingEventEngine, and is probably not worth it, however many uses of background threads now should probably evolve to be EventEngine::Run calls in the future, and then would be trivially enabled in the fuzzers. Some tests currently fail in the fuzzing environment, a `SKIP_IF_FUZZING` macro is used for these few to disable them if in the fuzzing environment. We'll burn these down in the future. **Changes to fuzzing_event_engine** Changes are made to time: an exponential sweep forward is used now - this catches small time precision things early, but makes decade long timers (we have them) able to be used right now. In the future we'll just skip time forward to the next scheduled timer, but that approach doesn't yet work due to legacy timer system interactions. Changes to port assignment: we ensure that ports are legal numbers before assigning them via `grpc_pick_port_or_die`. A race condition between time checking and io is fixed. --------- Co-authored-by: ctiller <ctiller@users.noreply.github.com> |
2 years ago | |
---|---|---|
.. | ||
h2_oauth2_common.h | Reland "[promises] Convert call to a party" (#32651)" (#32653) | 2 years ago |
h2_ssl_cred_reload_fixture.h | [e2e] c++-ify core e2e test fixtures (#32550) | 2 years ago |
h2_ssl_tls_common.h | [e2e] c++-ify core e2e test fixtures (#32550) | 2 years ago |
h2_tls_common.h | [tests] Convert core e2e tests to gtest (#32603) | 2 years ago |
http_proxy_fixture.cc | [EventEngine] Modify iomgr to allow creation of posix event engine listeners and server side endpoints (#31928) | 2 years ago |
http_proxy_fixture.h | Convert c-style comments to C++-style comments (#31923) | 2 years ago |
inproc_fixture.h | [fuzz] Turn core end2end tests into fuzzers (#33013) | 2 years ago |
local_util.cc | [fuzz] Turn core end2end tests into fuzzers (#33013) | 2 years ago |
local_util.h | [fuzz] Turn core end2end tests into fuzzers (#33013) | 2 years ago |
proxy.cc | Reland "[promises] Convert call to a party" (#32651)" (#32653) | 2 years ago |
proxy.h | Convert c-style comments to C++-style comments (#31923) | 2 years ago |
secure_fixture.h | [fuzz] Turn core end2end tests into fuzzers (#33013) | 2 years ago |
sockpair_fixture.h | [fuzz] Turn core end2end tests into fuzzers (#33013) | 2 years ago |