Skip to content

Conversation

Mr3zee
Copy link
Member

@Mr3zee Mr3zee commented Aug 12, 2025

Subsystem
Protoc-gen

Problem Description
Google publishes conformance tests for protoc-gen language implementations to test functionality

Solution
Setup our conformance tests:

  • Added runner executable dependency
  • Added conformance protos and generated code to the repository to track changes
    • Only proto3 are generated due to GROUPS unsupported in protoc-gen
  • Added junit tests to mimic conformance tests
  • Fixed:
    • Generation for single package in path
    • Logging in protoc-gen plugins
    • Package names
    • Enums in repeated fields
    • Gradle plugin lazy tasks creation order
    • Gradle plugin initialization order bug
    • packed enum generation
    • boolSize function
    • Well-Known types
    • Explicit API mode

Current test status:

=== Conformance Test Results ===
Total baseline tests:   5545
[+] Passed tests:       1188
[-] Failed tests:       4357

Details:

There are 2934 Proto3 tests (+editions), out of them 1188 pass, 1746 fail. But from failing, only 208 are tests with Protobuf input and output, and rest are Json
So actually we do 1188/1396 tests, which is 85%*!

*of tests we intended to support initially, so excluding Json and only taking Proto3 and Editions_Proto3

@Mr3zee Mr3zee self-assigned this Aug 12, 2025
@Mr3zee Mr3zee added the infra Infrastructure changes (Gradle, CI, project setup, etc) label Aug 12, 2025
Base automatically changed from grpc-protobuf to grpc-common August 13, 2025 13:05
- Added runner exe
- Added conformance protos and generated code
- Fixed low-hanging gradle and protoc-gen issues
@Mr3zee Mr3zee force-pushed the protobuf-conformance branch from f7f386d to 2130297 Compare August 13, 2025 14:47
@Mr3zee Mr3zee requested a review from Jozott00 August 15, 2025 09:17
@Mr3zee Mr3zee marked this pull request as ready for review August 15, 2025 09:17
@Mr3zee Mr3zee force-pushed the protobuf-conformance branch from 214d268 to 2ab9953 Compare August 15, 2025 09:19
@Mr3zee Mr3zee merged commit ebd3f90 into grpc-common Aug 18, 2025
9 of 10 checks passed
@Mr3zee Mr3zee deleted the protobuf-conformance branch August 18, 2025 12:10
Mr3zee added a commit that referenced this pull request Aug 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra Infrastructure changes (Gradle, CI, project setup, etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants