Skip to content

Commit

Permalink
Merge pull request grpc#10953 from markdroth/cq_verifier_improvement
Browse files Browse the repository at this point in the history
Improve cq_verifier error message when success does not match.
  • Loading branch information
markdroth authored May 3, 2017
2 parents e325f77 + 13ded3f commit 98e8d59
Showing 1 changed file with 27 additions and 18 deletions.
45 changes: 27 additions & 18 deletions test/core/end2end/cq_verifier.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,23 +189,6 @@ int byte_buffer_eq_string(grpc_byte_buffer *bb, const char *str) {
return res;
}

static void verify_matches(expectation *e, grpc_event *ev) {
GPR_ASSERT(e->type == ev->type);
switch (e->type) {
case GRPC_QUEUE_SHUTDOWN:
gpr_log(GPR_ERROR, "premature queue shutdown");
abort();
break;
case GRPC_OP_COMPLETE:
GPR_ASSERT(e->success == ev->success);
break;
case GRPC_QUEUE_TIMEOUT:
gpr_log(GPR_ERROR, "not implemented");
abort();
break;
}
}

static void expectation_to_strvec(gpr_strvec *buf, expectation *e) {
char *tmp;

Expand All @@ -214,7 +197,7 @@ static void expectation_to_strvec(gpr_strvec *buf, expectation *e) {

switch (e->type) {
case GRPC_OP_COMPLETE:
gpr_asprintf(&tmp, "GRPC_OP_COMPLETE result=%d %s:%d", e->success,
gpr_asprintf(&tmp, "GRPC_OP_COMPLETE success=%d %s:%d", e->success,
e->file, e->line);
gpr_strvec_add(buf, tmp);
break;
Expand Down Expand Up @@ -248,6 +231,32 @@ static void fail_no_event_received(cq_verifier *v) {
abort();
}

static void verify_matches(expectation *e, grpc_event *ev) {
GPR_ASSERT(e->type == ev->type);
switch (e->type) {
case GRPC_OP_COMPLETE:
if (e->success != ev->success) {
gpr_strvec expected;
gpr_strvec_init(&expected);
expectation_to_strvec(&expected, e);
char *s = gpr_strvec_flatten(&expected, NULL);
gpr_strvec_destroy(&expected);
gpr_log(GPR_ERROR, "actual success does not match expected: %s", s);
gpr_free(s);
abort();
}
break;
case GRPC_QUEUE_SHUTDOWN:
gpr_log(GPR_ERROR, "premature queue shutdown");
abort();
break;
case GRPC_QUEUE_TIMEOUT:
gpr_log(GPR_ERROR, "not implemented");
abort();
break;
}
}

void cq_verify(cq_verifier *v) {
const gpr_timespec deadline = grpc_timeout_seconds_to_deadline(10);
while (v->first_expectation != NULL) {
Expand Down

0 comments on commit 98e8d59

Please sign in to comment.