Skip to content

Commit b49530f

Browse files
implausiblejohnhaley81
authored andcommitted
Fix tests to respond to errno on rejection
1 parent 76dc8ca commit b49530f

4 files changed

Lines changed: 17 additions & 5 deletions

File tree

generate/templates/partials/async_function.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,10 @@ void {{ cppClassName }}::{{ cppFunctionName }}Worker::HandleOKCallback() {
140140
free((void *)baton->error->message);
141141
free((void *)baton->error);
142142
} else if (baton->error_code < 0) {
143+
Local<v8::Object> err = Nan::Error("Method {{ jsFunctionName }} has thrown an error.")->ToObject();
144+
err->Set(Nan::New("errno").ToLocalChecked(), Nan::New(baton->error_code));
143145
Local<v8::Value> argv[1] = {
144-
Nan::NanErrnoException(baton->error_code, NULL, "A general error has occurred")
146+
err
145147
};
146148
callback->Call(1, argv);
147149
} else {

test/tests/rebase.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,8 @@ describe("Rebase", function() {
686686
});
687687
});
688688

689-
it("can fast-forward via rebase using the convenience methods", function() {
689+
it("can fast-forward via rebase using the convenience methods",
690+
function() {
690691
var ourFileName = "ourNewFile.txt";
691692
var theirFileName = "theirNewFile.txt";
692693

test/tests/remote.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,9 @@ describe("Remote", function() {
270270
return Promise.reject(
271271
new Error("should not be able to push to the repository"));
272272
}, function(err) {
273-
if (err.message === "A general error has occurred") {
273+
if (err.errno === NodeGit.Error.CODE.ERROR &&
274+
err.message === "Method push has thrown an error.")
275+
{
274276
return Promise.resolve();
275277
} else {
276278
throw err;

test/tests/revwalk.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
var assert = require("assert");
22
var path = require("path");
33
var local = path.join.bind(path, __dirname);
4+
var Promise = require("nodegit-promise");
45

56
describe("Revwalk", function() {
67
var NodeGit = require("../../");
@@ -125,7 +126,7 @@ describe("Revwalk", function() {
125126

126127
repository.getMasterCommit().then(function(firstCommitOnMaster) {
127128
walker.walk(firstCommitOnMaster, function(err, commit) {
128-
if (!err && !commit) {
129+
if (err && err.errno === NodeGit.Error.CODE.ITEROVER) {
129130
return done();
130131
}
131132

@@ -152,7 +153,13 @@ describe("Revwalk", function() {
152153
promise = promise.then(getNext);
153154
}
154155
}
155-
return promise;
156+
return promise.catch(function(error) {
157+
if (error && error.errno === NodeGit.Error.CODE.ITEROVER) {
158+
return Promise.resolve();
159+
} else {
160+
throw error;
161+
}
162+
});
156163

157164
function getNext() {
158165
return walker.next();

0 commit comments

Comments
 (0)