protocolbuffers/protobuf

protoc cli returns success with --fatal_warnings switch when warnings are detected

Open

#10.486 aberto em 1 de set. de 2022

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (16.128 forks)batch import
help wantedprotoc

Métricas do repositório

Stars
 (71.223 stars)
Métricas de merge de PR
 (Mesclagem média 2d 11h) (185 fundiu PRs em 30d)

Description

Version: libprotoc 3.19.4 Language: NA OS: OSX, installed via brew

Steps to reproduce the behavior:

  1. open a terminal (I use zsh)
  2. decode a protobuf file for which a warning will be emitted using the --fatal_warnings switch
  3. check the command return value
$ cat temp.in.pbuf | protoc  --decode job_definition.job_t --fatal_warnings --proto_path ~/workspace/engine/proto/ job.proto > /dev/null
warning:  Input message is missing required fields:  country[0].id, country[1].id
$ echo $?
0

notice the contract include

message country_t {
	required int32 id = 1;
	required string country = 2;
}

and the encode file does not indeed have an id field, i.e. the warning is correct.

What did you expect to see protoc shall return a non-zero error

What did you see instead? protoc returns 0

Guia do colaborador