I'm seeing this fail every time now, but previously I think the same test was passing, so this may be nondeterministic.
paul ~/repos/webcoin master $ npm test
> webcoin@0.0.0-semantically-released test /Users/paul/repos/webcoin
> npm run standard && ./node_modules/.bin/tape test/*.js
> webcoin@0.0.0-semantically-released standard /Users/paul/repos/webcoin
> standard lib/*.js test/*.js bin/*.js index.js
TAP version 13
# open blockstore
# opening on a path that is already locked
ok 1 LevelUP
ok 2 (unnamed assert)
# closing
# blockstore put
# simple put
# put existing block
# put invalid blocks
ok 3 (unnamed assert)
ok 4 (unnamed assert)
ok 5 (unnamed assert)
# put after close
ok 6 undefined
ok 7 (unnamed assert)
# blockstore get
ok 8 null
# get using `header.hash`
ok 9 null
ok 10 should be equal
ok 11 should be equal
ok 12 should be equivalent
# get using buffer hash
ok 13 null
ok 14 should be equal
ok 15 should be equal
ok 16 should be equivalent
# get an invalid hash
ok 17 (unnamed assert)
ok 18 should be equal
ok 19 (unnamed assert)
# get a valid, nonexistent hash
ok 20 (unnamed assert)
ok 21 should be equal
ok 22 (unnamed assert)
# closing
# creating blockchain instances
# create blockchain with instantiated BlockStore
ok 23 should not throw
ok 24 undefined
# create blockchain with path instead of BlockStore
ok 25 should not throw
ok 26 undefined
# blockchain paths
# headers add to blockchain
# simple path with no fork
ok 27 (unnamed assert)
ok 28 (unnamed assert)
ok 29 (unnamed assert)
ok 30 (unnamed assert)
ok 31 should be equal
ok 32 should be equal
ok 33 should be equal
ok 34 should be equal
ok 35 should be equal
ok 36 should be equal
# backwards path with no fork
ok 37 (unnamed assert)
ok 38 (unnamed assert)
ok 39 (unnamed assert)
ok 40 (unnamed assert)
ok 41 should be equal
ok 42 should be equal
ok 43 should be equal
ok 44 should be equal
ok 45 should be equal
ok 46 should be equal
# fork headers add to blockchain
# path with fork
ok 47 (unnamed assert)
ok 48 (unnamed assert)
ok 49 (unnamed assert)
ok 50 should be equal
ok 51 should be equal
ok 52 should be equal
ok 53 should be equal
ok 54 should be equal
ok 55 should be equal
ok 56 should be equal
ok 57 should be equal
ok 58 should be equal
ok 59 should be equal
ok 60 should be equal
# backwards path with fork
ok 61 (unnamed assert)
ok 62 (unnamed assert)
ok 63 (unnamed assert)
ok 64 should be equal
ok 65 should be equal
ok 66 should be equal
ok 67 should be equal
ok 68 should be equal
ok 69 should be equal
ok 70 should be equal
ok 71 should be equal
ok 72 should be equal
ok 73 should be equal
ok 74 should be equal
# deleting blockstore
ok 75 undefined
# blockchain verification
# headers add to blockchain
# error on header that doesn't connect
ok 76 (unnamed assert)
ok 77 should be equal
# error on nonconsecutive headers
ok 78 (unnamed assert)
ok 79 should be equal
# error on header with unexpected difficulty change
ok 80 (unnamed assert)
ok 81 should be equal
# error on header with invalid proof of work
ok 82 (unnamed assert)
ok 83 should be equal
# error on header with invalid difficulty change
ok 84 (unnamed assert)
ok 85 should be equal
# accept valid difficulty change
# teardown
ok 86 undefined
# blockchain queries
# setup
# get block at height
ok 87 (unnamed assert)
ok 88 (unnamed assert)
ok 89 should be equal
ok 90 (unnamed assert)
ok 91 (unnamed assert)
ok 92 should be equal
ok 93 null
ok 94 (unnamed assert)
ok 95 should be equal
ok 96 should be equal
ok 97 null
ok 98 (unnamed assert)
ok 99 should be equal
ok 100 should be equal
# get block at time
ok 101 null
ok 102 (unnamed assert)
ok 103 should be equal
ok 104 should be equal
ok 105 null
ok 106 (unnamed assert)
ok 107 should be equal
ok 108 should be equal
ok 109 null
ok 110 (unnamed assert)
ok 111 should be equal
ok 112 should be equal
ok 113 null
ok 114 (unnamed assert)
ok 115 should be equal
ok 116 should be equal
# get block
ok 117 (unnamed assert)
ok 118 should be equal
ok 119 null
ok 120 (unnamed assert)
ok 121 should be equal
ok 122 should be equal
ok 123 null
ok 124 (unnamed assert)
ok 125 should be equal
ok 126 should be equal
ok 127 null
ok 128 (unnamed assert)
ok 129 should be equal
ok 130 should be equal
# teardown
ok 131 undefined
# blockchain sync
# setup
ok 132 opened BlockStore
# sync
ok 133 downloading from peer
ok 134 (unnamed assert)
ok 135 should be equal
ok 136 (unnamed assert)
ok 137 should be equal
ok 138 should be equal
# teardown
ok 139 undefined
# build from MerkleBlock
# bitcoin.org example
ok 140 (unnamed assert)
ok 141 (unnamed assert)
ok 142 (unnamed assert)
ok 143 (unnamed assert)
ok 144 (unnamed assert)
ok 145 (unnamed assert)
# block 1
ok 146 (unnamed assert)
# block 2
ok 147 (unnamed assert)
ok 148 should not throw
ok 149 should not throw
ok 150 should not throw
# Node constructor
# setup
ok 151 ,
# chain
ok 152 should be equal
ok 153 should be equal
ok 154 (unnamed assert)
# teardown
# creating TransactionStore instances
# error when no path specified
ok 155 should throw
# no error when path is specified
ok 156 (unnamed assert)
ok 157 should not throw
# isOpen() returns true after init callback
ok 158 (unnamed assert)
# isClosed() returns false after init callback
ok 159 (unnamed assert)
# TransactionStore put
# error when putting with no block
ok 160 (unnamed assert)
ok 161 should be equal
# put succeeds with block or header
ok 162 0100000000010000000000000000126a1099d6c34eb156fcb9428152c4f8676de600000000
ok 163 0100000000010000000000000000126a10f8f8fedb2858b5279c29876adf3012a400000000
# error when putting invalid data
ok 164 (unnamed assert)
ok 165 should be equal
# error when putting with invalid block hash
ok 166 should throw
# put succeeds for duplicate entries
ok 167 0100000000010000000000000000126a10cc553ce148ee112ce173cae3e7149c8f00000000
ok 168 0100000000010000000000000000126a10cc553ce148ee112ce173cae3e7149c8f00000000
# TransactionStore get
# setup
# simple get
ok 169 null
ok 170 (unnamed assert)
ok 171 should be equal
ok 172 (unnamed assert)
ok 173 (unnamed assert)
ok 174 should be equal
# error when getting with invalid hash
ok 175 (unnamed assert)
# teardown
ok 176 undefined
# isOpen() returns false after close callback
ok 177 (unnamed assert)
# isClosed() returns true after close callback
ok 178 (unnamed assert)
# toHash
ok 179 should be equal
# createStore
# simple createStore
ok 180 null
# error when createStore is called without a path
ok 181 should throw
# toCompactTarget
ok 182 should be equal
ok 183 should be equal
ok 184 should be equal
ok 185 should be equal
ok 186 should be equal
# Node wallet creation
# setup
# teardown
ok 187 null
/Users/paul/repos/webcoin/node_modules/ws/lib/WebSocket.js:214
else throw new Error('not opened');
^
Error: not opened
at WebSocket.send (/Users/paul/repos/webcoin/node_modules/ws/lib/WebSocket.js:214:16)
at Peer.<anonymous> (/Users/paul/repos/webcoin/node_modules/peerhub/client.js:86:15)
at emitOne (events.js:90:13)
at Peer.emit (events.js:182:7)
at sendOffer (/Users/paul/repos/webcoin/node_modules/simple-peer/index.js:310:12)
at RTCPeerConnection.<anonymous> (/Users/paul/repos/webcoin/node_modules/simple-peer/index.js:315:44)
at RTCPeerConnection.queueOrRun.onSuccess (/Users/paul/repos/node-webrtc/lib/peerconnection.js:215:25)
at PeerConnection.onsuccess (/Users/paul/repos/node-webrtc/lib/peerconnection.js:89:25)
npm ERR! Test failed. See above for more details.
I'm seeing this fail every time now, but previously I think the same test was passing, so this may be nondeterministic.