aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2015-02-11 16:19:55 -0800
committerGravatar murgatroid99 <mlumish@google.com>2015-02-11 16:19:55 -0800
commit1578c6a4ab91aed70b4c2c271249ec82e2f95d7f (patch)
tree7b9c31d2351f688e90661bc72b07c7b6f137b626 /src/node
parentb59fbfda50dc680227d639eaca2bac45fa6312cd (diff)
Fixed end to end tests
Diffstat (limited to 'src/node')
-rw-r--r--src/node/ext/call.cc8
-rw-r--r--src/node/ext/call.h2
-rw-r--r--src/node/ext/completion_queue_async_worker.cc8
-rw-r--r--src/node/test/call_test.js2
-rw-r--r--src/node/test/end_to_end_test.js2
5 files changed, 13 insertions, 9 deletions
diff --git a/src/node/ext/call.cc b/src/node/ext/call.cc
index 3452af943d..cdc34b52a7 100644
--- a/src/node/ext/call.cc
+++ b/src/node/ext/call.cc
@@ -98,6 +98,9 @@ bool CreateMetadataArray(
string_handles->push_back(unique_ptr<NanUtf8String>(utf8_key));
Handle<Array> values = Local<Array>::Cast(metadata->Get(current_key));
for (unsigned int j = 0; j < values->Length(); j++) {
+ if (array->count >= array->capacity) {
+ gpr_log(GPR_ERROR, "Metadata array grew past capacity");
+ }
Handle<Value> value = values->Get(j);
grpc_metadata *current = &array->metadata[array->count];
current->key = **utf8_key;
@@ -433,9 +436,9 @@ Handle<Value> GetTagNodeValue(void *tag) {
return NanEscapeScope(tag_obj);
}
-NanCallback GetTagCallback(void *tag) {
+NanCallback *GetTagCallback(void *tag) {
struct tag *tag_struct = reinterpret_cast<struct tag *>(tag);
- return *tag_struct->callback;
+ return tag_struct->callback;
}
void DestroyTag(void *tag) {
@@ -598,6 +601,7 @@ NAN_METHOD(Call::StartBatch) {
grpc_call_error error = grpc_call_start_batch(
call->wrapped_call, ops, nops, new struct tag(
callback, op_vector, handles, strings));
+ delete ops;
if (error != GRPC_CALL_OK) {
return NanThrowError("startBatch failed", error);
}
diff --git a/src/node/ext/call.h b/src/node/ext/call.h
index b8792713da..f443a04637 100644
--- a/src/node/ext/call.h
+++ b/src/node/ext/call.h
@@ -89,7 +89,7 @@ struct tag {
v8::Handle<v8::Value> GetTagNodeValue(void *tag);
-NanCallback GetTagCallback(void *tag);
+NanCallback *GetTagCallback(void *tag);
void DestroyTag(void *tag);
diff --git a/src/node/ext/completion_queue_async_worker.cc b/src/node/ext/completion_queue_async_worker.cc
index dbacdf034e..3c32b07ca3 100644
--- a/src/node/ext/completion_queue_async_worker.cc
+++ b/src/node/ext/completion_queue_async_worker.cc
@@ -80,10 +80,10 @@ void CompletionQueueAsyncWorker::Init(Handle<Object> exports) {
void CompletionQueueAsyncWorker::HandleOKCallback() {
NanScope();
gpr_log(GPR_DEBUG, "Handling response on call %p", result->call);
- NanCallback callback = GetTagCallback(result->tag);
+ NanCallback *callback = GetTagCallback(result->tag);
Handle<Value> argv[] = {NanNull(), GetTagNodeValue(result->tag)};
- callback.Call(2, argv);
+ callback->Call(2, argv);
DestroyTag(result->tag);
grpc_event_finish(result);
@@ -92,10 +92,10 @@ void CompletionQueueAsyncWorker::HandleOKCallback() {
void CompletionQueueAsyncWorker::HandleErrorCallback() {
NanScope();
- NanCallback callback = GetTagCallback(result->tag);
+ NanCallback *callback = GetTagCallback(result->tag);
Handle<Value> argv[] = {NanError(ErrorMessage())};
- callback.Call(1, argv);
+ callback->Call(1, argv);
DestroyTag(result->tag);
grpc_event_finish(result);
diff --git a/src/node/test/call_test.js b/src/node/test/call_test.js
index e341092ff8..1cbfc2280c 100644
--- a/src/node/test/call_test.js
+++ b/src/node/test/call_test.js
@@ -1,6 +1,6 @@
/*
*
- * Copyright 2014, Google Inc.
+ * Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
diff --git a/src/node/test/end_to_end_test.js b/src/node/test/end_to_end_test.js
index d43446084c..34ce2500f6 100644
--- a/src/node/test/end_to_end_test.js
+++ b/src/node/test/end_to_end_test.js
@@ -67,7 +67,7 @@ describe('end-to-end', function() {
after(function() {
server.shutdown();
});
- it.skip('should start and end a request without error', function(complete) {
+ it('should start and end a request without error', function(complete) {
var done = multiDone(complete, 2);
var deadline = new Date();
deadline.setSeconds(deadline.getSeconds() + 3);