[devtools] Make PostgresTestDataBaseHandler multi-use friendly
Dont init the pgdb twice on the same datadir
- If two test case with the same apphome use a Postgres configuration, the
handler is initialised twice, so it has to check if the pgdb directory has
already been initialized.
- Work with the realpath of the pgdb
In some cases, the self.config.apphome will resolve symbolic links, but
not always.
It can result in an attempt to start twice the pg server for the same directory,
in the same test run... resulting in failure.
Closes #4875827
Request and ResultSet methods
-----------------------------
Those are methods you'll find on both request objects and on
repository session.
Request methods
~~~~~~~~~~~~~~~
`URL handling`:
* `build_url(*args, **kwargs)`, returns an absolute URL based on the
given arguments. The *controller* supposed to handle the response,
can be specified through the first positional parameter (the
connection is theoretically done automatically :).
`Data formatting`:
* `format_date(date, date_format=None, time=False)` returns a string for a
date time according to instance's configuration
* `format_time(time)` returns a string for a date time according to
instance's configuration
`And more...`:
* `tal_render(template, variables)`, renders a precompiled page template with
variables in the given dictionary as context
Result set methods
~~~~~~~~~~~~~~~~~~
* `get_entity(row, col)`, returns the entity corresponding to the data position
in the *result set*
* `complete_entity(row, col, skip_bytes=True)`, is equivalent to `get_entity` but
also call the method `complete()` on the entity before returning it