protocolbuffers/protobuf

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

Open

#10 486 ouverte le 1 sept. 2022

Voir sur GitHub
 (3 commentaires) (0 réactions) (0 assignés)C++ (16 128 forks)batch import
help wantedprotoc

Métriques du dépôt

Stars
 (71 223 stars)
Métriques de merge PR
 (Merge moyen 2j 11h) (185 PRs mergées en 30 j)

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

Guide contributeur