Page MenuHomePhabricator

Merge #14305: Tests: enforce critical class instance attributes in functional tests, fix segwit test specificity
ClosedPublic

Authored by markblundeberg on Jul 1 2019, 02:07.

Details

Summary

PR14305 backport https://github.com/bitcoin/bitcoin/pull/14305/files
e460232876 Document fixed attribute behavior in critical test framework classes. (Justin Turner Arthur)
17b42f4122 Check for specific tx acceptance failures based on script signature (Justin Turner Arthur)
3a4449e9ad Strictly enforce instance attrs in critical functional test classes. (Justin Turner Arthur)
1d0ce94a54 Fix for incorrect version attr set on functional test segwit block. (Justin Turner Arthur)
ba923e32a0 test: Fix broken segwit test (practicalswift)

Pull request description:

No extra attributes will be able to be added to instances of the C++ class ports or of other critical classes without causing an exception. Helps prevent adding or depending on attributes that aren't in the intended object structure. It may prevent issues such as the one fixed in bitcoin/bitcoin#14300.

This request fixes the erroneous version attribute used in the p2p_segwit.py functional tests. This pull includes the commit from bitcoin/bitcoin#14300.

Depends on D3492

Test Plan

test_runner.py --extended

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Fabien requested changes to this revision.Jul 1 2019, 09:52

Please run the extended tests as part of the test plan.

test/functional/test_framework/messages.py
364 ↗(On Diff #9832)

No wit here

641 ↗(On Diff #9832)

No use_witness here

This revision now requires changes to proceed.Jul 1 2019, 09:52
markblundeberg edited the test plan for this revision. (Show Details)

update per comments (extended tests now in progress)

This revision is now accepted and ready to land.Jul 1 2019, 17:51