### P1 push: integrity_check ignored
test_corrupt_copy_is_never_pushed (__main__.Push.test_corrupt_copy_is_never_pushed) ... FAIL
FAIL: test_corrupt_copy_is_never_pushed (__main__.Push.test_corrupt_copy_is_never_pushed)
AssertionError: 0 == 0
Ran 1 test in 0.205s
FAILED (failures=1)

### P2 push: snapshot age ignored
test_stale_snapshot_is_not_pushed_again (__main__.Push.test_stale_snapshot_is_not_pushed_again) ... FAIL
FAIL: test_stale_snapshot_is_not_pushed_again (__main__.Push.test_stale_snapshot_is_not_pushed_again)
AssertionError: 0 == 0
Ran 1 test in 0.201s
FAILED (failures=1)

### P3 push: success signal after a failed push
test_failed_push_writes_no_signal (__main__.Push.test_failed_push_writes_no_signal) ... FAIL
FAIL: test_failed_push_writes_no_signal (__main__.Push.test_failed_push_writes_no_signal)
AssertionError: 0 == 0
Ran 1 test in 0.206s
FAILED (failures=1)

### P4 push: size check removed
test_truncated_copy_is_not_pushed (__main__.Push.test_truncated_copy_is_not_pushed) ... ok
Ran 1 test in 0.156s
OK

### P5 push: no encryption flag
test_happy_path_pushes_encrypted_to_operator_and_writes_signal (__main__.Push.test_happy_path_pushes_encrypted_to_operator_and_writes_signal) ... ERROR
ERROR: test_happy_path_pushes_encrypted_to_operator_and_writes_signal (__main__.Push.test_happy_path_pushes_encrypted_to_operator_and_writes_signal)
Ran 1 test in 0.211s
FAILED (errors=1)

### P6 restore: readable console passwords allowed
test_readable_console_password_fails (__main__.RestoreTest.test_readable_console_password_fails) ... FAIL
FAIL: test_readable_console_password_fails (__main__.RestoreTest.test_readable_console_password_fails)
AssertionError: 0 == 0
Ran 1 test in 0.357s
FAILED (failures=1)

### P7 restore: uses the push token
test_happy_path_writes_signal_with_the_read_only_token (__main__.RestoreTest.test_happy_path_writes_signal_with_the_read_only_token) ... FAIL
FAIL: test_happy_path_writes_signal_with_the_read_only_token (__main__.RestoreTest.test_happy_path_writes_signal_with_the_read_only_token)
AssertionError: False is not true : {'argv': ['snapshot', 'list', 'host/dooplex-hub', '--ns', 'operator', '--output-format', 'json', '--repository', 'dooplex-hub@pbs!restore@127.0.0.1:18007:felhom-offsite'], 'pw': '/tmp/tmp0xabeyiz/conf/token-push', 'fp': 'aa:bb'}
Ran 1 test in 0.371s
FAILED (failures=1)

### P8 restore: copy age ignored
test_old_copy_fails (__main__.RestoreTest.test_old_copy_fails) ... FAIL
FAIL: test_old_copy_fails (__main__.RestoreTest.test_old_copy_fails)
AssertionError: 0 == 0
Ran 1 test in 0.352s
FAILED (failures=1)

### P9 push: staged plaintext left behind
test_happy_path_pushes_encrypted_to_operator_and_writes_signal (__main__.Push.test_happy_path_pushes_encrypted_to_operator_and_writes_signal) ... FAIL
FAIL: test_happy_path_pushes_encrypted_to_operator_and_writes_signal (__main__.Push.test_happy_path_pushes_encrypted_to_operator_and_writes_signal)
AssertionError: Lists differ: ['hub.db'] != []
Ran 1 test in 0.200s
FAILED (failures=1)

P4 and P5 above: P4 did NOT convict (masked by integrity_check), P5 ERRORED rather than failed. Tests strengthened; re-runs:

### P4 (re-run) push: size check removed
test_truncated_copy_is_not_pushed (__main__.Push.test_truncated_copy_is_not_pushed) ... FAIL
FAIL: test_truncated_copy_is_not_pushed (__main__.Push.test_truncated_copy_is_not_pushed)
AssertionError: "bytes, the pod's file is" not found in 'felhom-hub-db-backup: FAILED: integrity_check: Error: in prepare, database disk image is malformed (11)\n'
Ran 1 test in 0.146s
FAILED (failures=1)

### P5 (re-run) push: no encryption flag
test_happy_path_pushes_encrypted_to_operator_and_writes_signal (__main__.Push.test_happy_path_pushes_encrypted_to_operator_and_writes_signal) ... FAIL
FAIL: test_happy_path_pushes_encrypted_to_operator_and_writes_signal (__main__.Push.test_happy_path_pushes_encrypted_to_operator_and_writes_signal)
AssertionError: '--crypt-mode' not found in ['backup', 'hubdb.pxar:/tmp/tmpq980kr66/state/stage', '--ns', 'operator', '--backup-type', 'host', '--backup-id', 'dooplex-hub', '--keyfile', '/tmp/tmpq980kr66/conf/enc.key', '--repository', 'dooplex-hub@pbs!push@127.0.0.1:18007:felhom-offsite'] : push without --crypt-mode
Ran 1 test in 0.200s
FAILED (failures=1)

