Unhappy tests on my local run (with upgrade activated):
abc-mempool-accept-txn.py | ✖ Failed | 1 s abc-p2p-fullblocktest.py | ✖ Failed | 45 s feature_block.py | ✖ Failed | 62 s
Unhappy tests on my local run (with upgrade activated):
abc-mempool-accept-txn.py | ✖ Failed | 1 s abc-p2p-fullblocktest.py | ✖ Failed | 45 s feature_block.py | ✖ Failed | 62 s
The C++ tests seems to be totally happy, the main issue is dealing with functional tests.
is wip
@deadalnix returning for review due to slight changes. Note after our discussion that ScriptExecutionMetrics will remain a pure struct (as it is in this diff) since accumulation etc will happen elsewhere.
remove dependency on D4834 , use xor
simplify changes to smallest possible (move-only on the for loop, and an extra update)
(For reference, this mechanism was introduced in D2047 which was basically a good fix.)
rebase
rebase
A note for curiosity: I tried to make the same kind of test using fundrawtransaction / signrawtransactionwithwallet RPC, however it took about 100 ms per tx. So with 500 txes, that made a 50 second long test, yuck! This test runs in 2 seconds.
simplify API ; rebase
add test
rebase ; comments ; tweak to not use uint256
Fabien added some comments to this effect in D4642.
Going to drop this from my queue for now, but I still think it's worth considering in future.
The remaining inconsistencies are probably related to this fix:
OK, just a few failures remaining now, so it's better with that parent but something still wrong...
rebase onto D4929
Above failures on master, now will try rebased.
From what I can tell, this change is actually a bugfix and should have really been combined with D4802. Please get this landed soon.
Hmm weird that build failures happen with this patch, it smells like one of the prior diffs (which all got landed sort of at once) may actually be responsible. Safest option might be to revert all.
Tiny quibble but otherwise good.
For some reason my name appears as the Author for the commit, any idea why that happened?
There is another side-effect here, which is that bumping GetMinFee can technically bring sigops (and virtualsize) into play for wallet estimation. To accurately capture this would really suck, since we would need to communicate two fee rates (one for min relay fee in sat/byte, and one for the mempool rolling fee floor in sat/vbyte).
Seems OK I guess, we'll just have to remember to nuke test/tmp on our local builds occasionally as it fills up with test failures.
In D4871#119454, @tobias_ruck wrote:In D4871#119436, @teamcity wrote:Build Bitcoin-ABC / Diffs / Diff Testing failed.Snippet of first build failure:
[17:32:02]W: [Step 1/1] + case "$ABC_BUILD_NAME" in [17:32:02] : [Step 1/1] Error: Invalid build name 'build-diff' [17:32:02]W: [Step 1/1] + echo 'Error: Invalid build name '\''build-diff'\''' [17:32:02]W: [Step 1/1] + exit 2 [17:32:02]W: [Step 1/1] Process exited with code 2 [17:32:02]E: [Step 1/1] Process exited with code 2 (Step: Command Line)This seems like a configuration error. Does someone know what‘s going on there?
big overhaul to use ScriptExecutionMetrics
add another comment
In D4803#119052, @fpelliccioni wrote:In D4803#118361, @deadalnix wrote:This clearly includes a lot of code that isn't in the original PR. Where does the clocking mechanism changes come from?
The new code is related to @markblundeberg and your comments in D4758: InvalidateBlock now requires that cs_main be unlocked.
Also: abc-finalize-block is broken here if I don't make the changes. (Not broken in previous Diffs).
I could move the related code to D4758 (I didn't do it because it had already been approved) or to a new Diff.
Never mind, I was wrong -- Core does have these changes.
Out of curiosity, why are we backporting these when Core doesn't have them in their master?
Note: As far as closures go, CScriptCheck is slightly weird because it saves (some of) the results into the closure, rather than returning them.
I am thinking of making two changes here:
update tests
Or should it be called GetVirtualSizeIncrement instead of GetIncrementalVirtualSize ?
I have a feeling this needs some tests...
This could be integrated into the mentioned Diffs, but I figured the mathematical concepts here are a bit weird and deserve a separate think.