Small improvements to the Taproot functional tests

The "whitelist" and "connect_nodes" is not needed in feature_taproot.py,
so remove it.

The changes to key.py are required when running the unit tests from the
test folder. Failure on current master:

[test]$ python -m unittest functional/test_framework/key.py
.E
======================================================================
ERROR: test_schnorr_testvectors (functional.test_framework.key.TestFrameworkKey)
Implement the BIP340 test vectors (read from bip340_test_vectors.csv).
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test/functional/test_framework/key.py", line 526, in test_schnorr_testvectors
    with open(os.path.join(sys.path[0], 'test_framework', 'bip340_test_vectors.csv'), newline='', encoding='utf8') as csvfile:
FileNotFoundError: [Errno 2] No such file or directory: 'test/test_framework/bip340_test_vectors.csv'

----------------------------------------------------------------------
Ran 2 tests in 0.775s

FAILED (errors=1)
This commit is contained in:
Pieter Wuille 2020-10-21 13:06:34 -07:00 committed by MarcoFalke
parent fac865b72d
commit 50eb0c2512
2 changed files with 4 additions and 5 deletions

View File

@ -1200,7 +1200,7 @@ class TaprootTest(BitcoinTestFramework):
self.num_nodes = 2 self.num_nodes = 2
self.setup_clean_chain = True self.setup_clean_chain = True
# Node 0 has Taproot inactive, Node 1 active. # Node 0 has Taproot inactive, Node 1 active.
self.extra_args = [["-whitelist=127.0.0.1", "-par=1", "-vbparams=taproot:1:1"], ["-whitelist=127.0.0.1", "-par=1"]] self.extra_args = [["-par=1", "-vbparams=taproot:1:1"], ["-par=1"]]
def block_submit(self, node, txs, msg, err_msg, cb_pubkey=None, fees=0, sigops_weight=0, witness=False, accept=False): def block_submit(self, node, txs, msg, err_msg, cb_pubkey=None, fees=0, sigops_weight=0, witness=False, accept=False):
@ -1437,8 +1437,6 @@ class TaprootTest(BitcoinTestFramework):
self.log.info(" - Done") self.log.info(" - Done")
def run_test(self): def run_test(self):
self.connect_nodes(0, 1)
# Post-taproot activation tests go first (pre-taproot tests' blocks are invalid post-taproot). # Post-taproot activation tests go first (pre-taproot tests' blocks are invalid post-taproot).
self.log.info("Post-activation tests...") self.log.info("Post-activation tests...")
self.nodes[1].generate(101) self.nodes[1].generate(101)

View File

@ -10,7 +10,6 @@ import csv
import hashlib import hashlib
import os import os
import random import random
import sys
import unittest import unittest
from .util import modinv from .util import modinv
@ -22,6 +21,7 @@ def TaggedHash(tag, data):
return hashlib.sha256(ss).digest() return hashlib.sha256(ss).digest()
def xor_bytes(b0, b1): def xor_bytes(b0, b1):
assert len(b0) == len(b1)
return bytes(x ^ y for (x, y) in zip(b0, b1)) return bytes(x ^ y for (x, y) in zip(b0, b1))
def jacobi_symbol(n, k): def jacobi_symbol(n, k):
@ -523,7 +523,8 @@ class TestFrameworkKey(unittest.TestCase):
def test_schnorr_testvectors(self): def test_schnorr_testvectors(self):
"""Implement the BIP340 test vectors (read from bip340_test_vectors.csv).""" """Implement the BIP340 test vectors (read from bip340_test_vectors.csv)."""
num_tests = 0 num_tests = 0
with open(os.path.join(sys.path[0], 'test_framework', 'bip340_test_vectors.csv'), newline='', encoding='utf8') as csvfile: vectors_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'bip340_test_vectors.csv')
with open(vectors_file, newline='', encoding='utf8') as csvfile:
reader = csv.reader(csvfile) reader = csv.reader(csvfile)
next(reader) next(reader)
for row in reader: for row in reader: