[PATCH xorg-gtest 2/4] test: add SetDisplayString()
Chase Douglas
chase.douglas at canonical.com
Wed Jul 11 12:38:27 PDT 2012
On 07/10/2012 06:51 PM, Peter Hutterer wrote:
> Don't rely on the environment alone, take the display string if it's been
> set.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> include/xorg/gtest/xorg-gtest-test.h | 10 ++++++++++
> src/test.cpp | 12 +++++++++++-
> 2 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/include/xorg/gtest/xorg-gtest-test.h b/include/xorg/gtest/xorg-gtest-test.h
> index 3b78a17..a776693 100644
> --- a/include/xorg/gtest/xorg-gtest-test.h
> +++ b/include/xorg/gtest/xorg-gtest-test.h
> @@ -88,6 +88,16 @@ class Test : public ::testing::Test {
> */
> ::Display* Display() const;
>
> + /**
> + * Set the display string used for XOpenDisplay() and thus affects
> + * Test::Display(). This function must be called before
> + * xorg::testing::Test::SetUp() to have any effect.
> + *
> + * @param display The string representing the display connection, or an
> + * empty string for NULL
> + */
> + void SetDisplayString(const std::string &display);
> +
> /** @cond Implementation */
> struct Private;
> std::auto_ptr<Private> d_;
> diff --git a/src/test.cpp b/src/test.cpp
> index e3e65e4..94adf13 100644
> --- a/src/test.cpp
> +++ b/src/test.cpp
> @@ -33,6 +33,7 @@
>
> struct xorg::testing::Test::Private {
> ::Display* display;
> + std::string display_string;
> };
>
> xorg::testing::Test::Test() : d_(new Private) {
> @@ -42,7 +43,12 @@ xorg::testing::Test::Test() : d_(new Private) {
> xorg::testing::Test::~Test() {}
>
> void xorg::testing::Test::SetUp() {
> - d_->display = XOpenDisplay(NULL);
> + const char *dpy = NULL;
> +
> + if (!d_->display_string.empty())
> + dpy = d_->display_string.c_str();
> +
> + d_->display = XOpenDisplay(dpy);
> if (!d_->display)
> throw std::runtime_error("Failed to open connection to display");
> }
> @@ -56,3 +62,7 @@ void xorg::testing::Test::TearDown() {
> ::Display* xorg::testing::Test::Display() const {
> return d_->display;
> }
> +
> +void xorg::testing::Test::SetDisplayString(const std::string &display) {
> + d_->display_string = display;
> +}
>
No objections. I'm curious to find out what you plan to use this for :).
It's probably in one of your new tests that I've yet to review.
Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
More information about the xorg-devel
mailing list