Run tests using the binary distribution
This commit is contained in:
parent
39a6fc9654
commit
8931ae0e90
23
.travis.yml
23
.travis.yml
@ -55,3 +55,26 @@ jobs:
|
||||
script: cd test; poetry run ./run_tests.py --interface=library
|
||||
- name: With command line interface
|
||||
script: cd test; poetry run ./run_tests.py --interface=cli
|
||||
- name: With linux binary distribution command line interface
|
||||
services: docker
|
||||
before_script:
|
||||
- docker build -t hwi-builder -f contrib/build.Dockerfile .
|
||||
script:
|
||||
- docker run -it --name hwi-builder -v $PWD:/opt/hwi --rm --workdir /opt/hwi hwi-builder /bin/bash -c "contrib/build_bin.sh && contrib/build_dist.sh"
|
||||
- sudo chown -R `whoami`:`whoami` dist/
|
||||
- cd test; poetry run ./run_tests.py --interface=bindist
|
||||
- cd ..; sha256sum dist/*
|
||||
- name: macOS binary distribution (no tests)
|
||||
os: osx
|
||||
osx_image: xcode7.3
|
||||
language: generic
|
||||
addons:
|
||||
artifacts:
|
||||
working_dir: dist
|
||||
install:
|
||||
- brew update && brew upgrade pyenv
|
||||
- brew install libusb
|
||||
- cat contrib/reproducible-python.diff | PYTHON_CONFIGURE_OPTS="--enable-framework" BUILD_DATE="Jan 1 2019" BUILD_TIME="00:00:00" pyenv install -kp 3.6.8
|
||||
script:
|
||||
- contrib/build_bin.sh
|
||||
- shasum -a 256 dist/*
|
||||
|
||||
@ -32,7 +32,7 @@ dbb_group.add_argument('--no_bitbox', help='Do not run Digital Bitbox test with
|
||||
dbb_group.add_argument('--bitbox', help='Path to Digital bitbox simulator.', default='work/mcu/build/bin/simulator')
|
||||
|
||||
parser.add_argument('--bitcoind', help='Path to bitcoind.', default='work/bitcoin/src/bitcoind')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli'], default='library')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli', 'bindist'], default='library')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Run tests
|
||||
|
||||
@ -82,7 +82,7 @@ if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Test Coldcard implementation')
|
||||
parser.add_argument('simulator', help='Path to the Coldcard simulator')
|
||||
parser.add_argument('bitcoind', help='Path to bitcoind binary')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli'], default='library')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli', 'bindist'], default='library')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Start bitcoind
|
||||
|
||||
@ -83,6 +83,10 @@ class DeviceTestCase(unittest.TestCase):
|
||||
proc = subprocess.Popen(['hwi ' + ' '.join(args)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, shell=True)
|
||||
result = proc.communicate()
|
||||
return json.loads(result[0].decode())
|
||||
elif self.interface == 'bindist':
|
||||
proc = subprocess.Popen(['../dist/hwi ' + ' '.join(args)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, shell=True)
|
||||
result = proc.communicate()
|
||||
return json.loads(result[0].decode())
|
||||
else:
|
||||
return process_commands(args)
|
||||
|
||||
|
||||
@ -137,7 +137,7 @@ if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Test Digital Bitbox implementation')
|
||||
parser.add_argument('simulator', help='Path to simulator binary')
|
||||
parser.add_argument('bitcoind', help='Path to bitcoind binary')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli'], default='library')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli', 'bindist'], default='library')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Start bitcoind
|
||||
|
||||
@ -86,6 +86,10 @@ class KeepkeyTestCase(unittest.TestCase):
|
||||
proc = subprocess.Popen(['hwi ' + ' '.join(args)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, shell=True)
|
||||
result = proc.communicate()
|
||||
return json.loads(result[0].decode())
|
||||
elif self.interface == 'bindist':
|
||||
proc = subprocess.Popen(['../dist/hwi ' + ' '.join(args)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, shell=True)
|
||||
result = proc.communicate()
|
||||
return json.loads(result[0].decode())
|
||||
else:
|
||||
return process_commands(args)
|
||||
|
||||
@ -233,7 +237,7 @@ if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Test Keepkey implementation')
|
||||
parser.add_argument('emulator', help='Path to the Keepkey emulator')
|
||||
parser.add_argument('bitcoind', help='Path to bitcoind binary')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli'], default='library')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli', 'bindist'], default='library')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Start bitcoind
|
||||
|
||||
@ -84,7 +84,7 @@ def ledger_test_suite(rpc, userpass, interface):
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Test Ledger implementation')
|
||||
parser.add_argument('bitcoind', help='Path to bitcoind binary')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli'], default='library')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli', 'bindist'], default='library')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Start bitcoind
|
||||
|
||||
@ -86,6 +86,10 @@ class TrezorTestCase(unittest.TestCase):
|
||||
proc = subprocess.Popen(['hwi ' + ' '.join(args)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, shell=True)
|
||||
result = proc.communicate()
|
||||
return json.loads(result[0].decode())
|
||||
elif self.interface == 'bindist':
|
||||
proc = subprocess.Popen(['../dist/hwi ' + ' '.join(args)], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, shell=True)
|
||||
result = proc.communicate()
|
||||
return json.loads(result[0].decode())
|
||||
else:
|
||||
return process_commands(args)
|
||||
|
||||
@ -233,7 +237,7 @@ if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Test Trezor implementation')
|
||||
parser.add_argument('emulator', help='Path to the Trezor emulator')
|
||||
parser.add_argument('bitcoind', help='Path to bitcoind binary')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli'], default='library')
|
||||
parser.add_argument('--interface', help='Which interface to send commands over', choices=['library', 'cli', 'bindist'], default='library')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Start bitcoind
|
||||
|
||||
Loading…
Reference in New Issue
Block a user