I saw `tox -e behave` listed in README.md as an integration test, so tried running that too. I don't know if that is an applicable testsuite for acceptance testing, nor if it is currently expected to pass or not, but it failed for me: ~/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools$ tox -e behave GLOB sdist-make: /home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/setup.py behave create: /home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/.tox/behave behave installdeps: -rrequirements.txt, -rtest-requirements.txt behave inst: /home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/.tox/.tmp/package/1/ubuntu-advantage-tools-24.4.zip behave installed: appdirs==1.4.3,attrs==20.1.0,behave==1.2.6,CacheControl==0.12.6,certifi==2019.11.28,chardet==3.0.4,colorama==0.4.3,contextlib2==0.6.0,coverage==5.2.1,distlib==0.3.0,distro==1.4.0,flake8==3.8.3,html5lib==1.0.1,idna==2.8,iniconfig==1.0.1,ipaddr==2.2.0,lockfile==0.12.2,mccabe==0.6.1,mock==4.0.2,more-itertools==8.5.0,msgpack==0.6.2,packaging==20.3,parse==1.17.0,parse-type==0.5.2,pep517==0.8.2,pluggy==0.13.1,progress==1.5,py==1.9.0,pycodestyle==2.6.0,pyflakes==2.2.0,PyHamcrest==2.0.2,pyparsing==2.4.6,pytest==6.0.1,pytest-cov==2.10.1,pytoml==0.1.21,PyYAML==5.3.1,requests==2.22.0,retrying==1.3.3,six==1.14.0,toml==0.10.1,ubuntu-advantage-tools==24.4,urllib3==1.25.8,webencodings==0.5.1 behave run-test-pre: PYTHONHASHSEED='3371048301' behave run-test: commands[0] | behave --verbose Loading config defaults from "./tox.ini" Using defaults: color True show_snippets True show_skipped True dry_run False show_source True show_timings True stdout_capture True stderr_capture True log_capture True logging_format %(levelname)s:%(name)s:%(message)s logging_level 20 steps_catalog False summary True junit False stage None userdata {} default_format pretty default_tags scenario_outline_annotation_schema {name} -- @{row.id} {examples.name} more_formatters {} Using default path "./features" Trying base directory: /home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/features Config options: image_clean = True destroy_instances = True contract_token = None reuse_image = None Creating behave-image-build-1598996336365313 Starting behave-image-build-1598996336365313 Unexpected runlevel output: Unexpected runlevel output: Unexpected runlevel output: Unexpected runlevel output: Unexpected runlevel output: HOOK-ERROR in before_all: Exception: System did not boot in 10s File "/home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/.tox/behave/lib/python3.8/site-packages/behave/runner.py", line 545, in run_hook self.hooks[name](context, *args) File "features/environment.py", line 111, in before_all create_trusty_uat_lxd_image(context) File "features/environment.py", line 167, in create_trusty_uat_lxd_image launch_lxd_container(context, "ubuntu:trusty", build_container_name) File "/home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/features/util.py", line 33, in launch_lxd_container wait_for_boot(container_name) File "/home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/features/util.py", line 107, in wait_for_boot raise Exception("System did not boot in {}s".format(sum(retries))) Error: Failed to destroy ZFS filesystem: cannot destroy 'default/containers/behave-image-build-1598996336365313': dataset is busy ABORTED: By user. 0 features passed, 0 failed, 0 skipped, 6 untested 0 scenarios passed, 0 failed, 0 skipped, 22 untested 0 steps passed, 0 failed, 0 skipped, 0 undefined, 132 untested Took 0m0.000s ERROR: InvocationError for command /home/bryce/pkg/UbuntuAdvantageTools/review-mp390109/ubuntu-advantage-tools/.tox/behave/bin/behave --verbose (exited with code 1) ______________________________________________________ summary ______________________________________________________ ERROR: behave: commands failed However, this error looks like one I commonly encounter on my system when trying to delete an lxc container, so I am guessing this is just an error during cleanup due to my own local system configuration. (Fwiw, I work around the error by renaming the lxc instance to "trash-N" and then cleaning them up after I've rebooted. It's a known issue in LXD upstream, and there's other workarounds documented.) Anyway, for that reason I'm going to ignore this testsuite for this upload, and just mentioning it for your information.