Skip to content
Snippets Groups Projects
test_tahoe.py 2.18 KiB
Newer Older
  • Learn to ignore specific revisions
  • def test():
        start_all()
    
        # After the service starts, destroy the "created" marker to force it to
        # re-create its internal state.
        storage.wait_for_open_port(4001)
        storage.succeed("systemctl stop tahoe.storage")
        storage.succeed("rm /var/db/tahoe-lafs/storage.created")
        storage.succeed("systemctl start tahoe.storage")
    
        # After it starts up again, verify it has consistent internal state and a
        # backup of the prior state.
        storage.wait_for_open_port(4001)
        storage.succeed("[ -e /var/db/tahoe-lafs/storage ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.created ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.1 ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.1/private/node.privkey ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.1/private/node.pem ]")
        storage.succeed("[ ! -e /var/db/tahoe-lafs/storage.2 ]")
    
        # Stop it again, once again destroy the "created" marker, and this time also
        # jam some partial state in the way that will need cleanup.
        storage.succeed("systemctl stop tahoe.storage")
        storage.succeed("rm /var/db/tahoe-lafs/storage.created")
        storage.succeed("mkdir -p /var/db/tahoe-lafs/storage.atomic/partial")
        try:
            storage.succeed("systemctl start tahoe.storage")
        except:
            x, y = storage.execute("journalctl -u tahoe.storage")
            storage.log(y)
            raise
    
        # After it starts up again, verify it has consistent internal state and
        # backups of the prior two states.  It also has no copy of the inconsistent
        # state because it could never have been used.
        storage.wait_for_open_port(4001)
        storage.succeed("[ -e /var/db/tahoe-lafs/storage ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.created ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.1 ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.2 ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.2/private/node.privkey ]")
        storage.succeed("[ -e /var/db/tahoe-lafs/storage.2/private/node.pem ]")
        storage.succeed("[ ! -e /var/db/tahoe-lafs/storage.atomic ]")
        storage.succeed("[ ! -e /var/db/tahoe-lafs/storage/partial ]")
        storage.succeed("[ ! -e /var/db/tahoe-lafs/storage.3 ]")