[devtools] change the way we start/stop postgresql
Instead of having the test db handler start a cluster on demand, use the
test module's setUp/tearDown callbacks to do it. This allows to have
one data directory (and thus cluster) per test module, allowing
different test modules to run in parallel, each using its own database
cluster whose path is based on the test module.
from logilab.common.shellutils import generate_password
from cubicweb.server.utils import crypt_password
for user in rql('CWUser U WHERE U cw_source S, S name "system", U upassword P, U login L').entities():
salt = user.upassword.getvalue()
if crypt_password('', salt) == salt:
passwd = generate_password()
print 'setting random password for user %s' % user.login
user.set_attributes(upassword=passwd)
commit()