1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import os
- import time
- from tests.package.test_python import TestPythonPackageBase
- class TestPythonPy3MagicWormhole(TestPythonPackageBase):
- __test__ = True
- config = TestPythonPackageBase.config + \
- """
- BR2_PACKAGE_PYTHON3=y
- BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE=y
- BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE_MAILBOX_SERVER=y
- BR2_PACKAGE_PYTHON_MAGIC_WORMHOLE_TRANSIT_RELAY=y
- BR2_TARGET_ROOTFS_CPIO=y
- # BR2_TARGET_ROOTFS_TAR is not set
- """
- timeout = 60
- def twistd_cmd(self, command):
- s = "twistd"
- s += " --pidfile=/tmp/{}.pid".format(command)
- s += " --logfile=/tmp/{}.log".format(command)
- s += " {}".format(command)
- return s
- def test_run(self):
- code = "123-hello-buildroot"
- text = "Hello Buildroot!"
- relay_url = "ws://localhost:4000/v1"
- transit_helper = "tcp:localhost:4001"
- img = os.path.join(self.builddir, "images", "rootfs.cpio")
- self.emulator.boot(arch="armv5", kernel="builtin",
- options=["-initrd", img])
- self.emulator.login()
- cmd = self.twistd_cmd("wormhole-mailbox")
- self.assertRunOk(cmd, timeout=30)
- cmd = self.twistd_cmd("transitrelay")
- self.assertRunOk(cmd, timeout=30)
- wormhole_cmd = "wormhole --relay-url={} --transit-helper={}".format(
- relay_url, transit_helper)
- cmd = wormhole_cmd
- cmd += f" send --code={code} --text=\"{text}\""
- cmd += " &> /dev/null &"
- self.assertRunOk(cmd)
- time.sleep(30 * self.timeout_multiplier)
- wormhole_env = "_MAGIC_WORMHOLE_TEST_KEY_TIMER=100 "
- wormhole_env += "_MAGIC_WORMHOLE_TEST_VERIFY_TIMER=100 "
- cmd = wormhole_env + wormhole_cmd + " receive {}".format(code)
- output, exit_code = self.emulator.run(cmd, timeout=35)
- self.assertEqual(exit_code, 0)
- self.assertEqual(output[0], text)
|