Fixed reorg tests.
This commit is contained in:
parent
07b1ff3111
commit
f1da1e7612
@ -267,9 +267,17 @@ HeaderService.prototype._onBlock = function(block) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (reorg) {
|
if (reorg) {
|
||||||
self._handleReorg(block, header); // this sets the last header
|
return self._handleReorg(block, header, function(err) {
|
||||||
self._saveHeaders(self._onHeader(header));
|
|
||||||
return;
|
if (err) {
|
||||||
|
log.error(err);
|
||||||
|
self.node.stop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
self._saveHeaders(self._onHeader(header));
|
||||||
|
|
||||||
|
}); // this sets the last header
|
||||||
}
|
}
|
||||||
|
|
||||||
self._broadcast(block);
|
self._broadcast(block);
|
||||||
@ -385,8 +393,13 @@ HeaderService.prototype._onHeadersSave = function(err) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (reorg) {
|
if (reorg) {
|
||||||
self._handleReorg();
|
return self._handleReorg(null, null, function(err) {
|
||||||
return;
|
if (err) {
|
||||||
|
log.error(err);
|
||||||
|
this.node.stop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info('Header Service: emitting headers to block service.');
|
log.info('Header Service: emitting headers to block service.');
|
||||||
@ -505,15 +518,13 @@ HeaderService.prototype._detectStartupReorg = function(callback) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
HeaderService.prototype._handleReorg = function(block, header) {
|
HeaderService.prototype._handleReorg = function(block, header, callback) {
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
self.getAllHeaders(function(err, headers) {
|
self.getAllHeaders(function(err, headers) {
|
||||||
|
|
||||||
if (err || !headers) {
|
if (err || !headers) {
|
||||||
log.error(err || new Error('Missing headers'));
|
return callback(err || new Error('Missing headers'));
|
||||||
self.node.stop();
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var hash = headers.getIndex(self._originalTip.height).hash;
|
var hash = headers.getIndex(self._originalTip.height).hash;
|
||||||
@ -528,7 +539,7 @@ HeaderService.prototype._handleReorg = function(block, header) {
|
|||||||
|
|
||||||
assert(hash, 'To reorg, we need a hash to reorg to.');
|
assert(hash, 'To reorg, we need a hash to reorg to.');
|
||||||
self.emit('reorg', hash, headers);
|
self.emit('reorg', hash, headers);
|
||||||
|
callback();
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var expect = require('chai').expect;
|
var expect = require('chai').expect;
|
||||||
var sinon = require('sinon');
|
|
||||||
var net = require('net');
|
var net = require('net');
|
||||||
var spawn = require('child_process').spawn;
|
var spawn = require('child_process').spawn;
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
@ -32,10 +31,6 @@ var headers = blocks.map(function(block) {
|
|||||||
return block.header;
|
return block.header;
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(headers);
|
|
||||||
|
|
||||||
var magic = new Buffer('fabfb5da', 'hex');
|
|
||||||
|
|
||||||
var debug = true;
|
var debug = true;
|
||||||
var bitcoreDataDir = '/tmp/bitcore';
|
var bitcoreDataDir = '/tmp/bitcore';
|
||||||
|
|
||||||
@ -255,6 +250,8 @@ describe('Reorg', function() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var data = JSON.parse(resData);
|
var data = JSON.parse(resData);
|
||||||
|
expect(data.height).to.equal(7);
|
||||||
|
expect(data.hash).to.equal(reorgBlock.rhash());
|
||||||
done(resError, resData);
|
done(resError, resData);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user