[PATCH xorg-gtest] Make Environment API property-based.
Chase Douglas
chase.douglas at canonical.com
Mon Feb 6 10:08:32 PST 2012
On 02/06/2012 12:29 PM, Daniel d'Andrada wrote:
> Instead of shoving all parameters in the constructor.
>
> Signed-off-by: Daniel d'Andrada <daniel.dandrada at canonical.com>
> ---
> include/xorg/gtest/environment.h | 64 +++++++++++++++++++++++++++++---------
> src/Makefile.am | 6 ++--
> src/defines.h | 2 +
> src/environment.cpp | 48 ++++++++++++++++++++++------
> src/main.cpp | 37 +++++++++++----------
> 5 files changed, 111 insertions(+), 46 deletions(-)
>
> diff --git a/include/xorg/gtest/environment.h b/include/xorg/gtest/environment.h
> index 3996507..22c82be 100644
> --- a/include/xorg/gtest/environment.h
> +++ b/include/xorg/gtest/environment.h
> @@ -47,16 +47,11 @@ namespace testing {
> * Either associate the environment manually
> * with the overall testing framework like
> * @code
> - * std::string xorg_conf_path("conf/dummy.conf");
> - * std::string xorg_log_file_path("/tmp/MyDummyXorg.log");
> - * int xorg_display = 133;
> - * std::string server("Xorg");
> - *
> - * xorg::testing::Environment* environment = new xorg::testing::Environment(
> - * xorg_conf_path,
> - * server,
> - * xorg_display);
> - * environment->set_log_file(xorg_log_file_path);
> + * xorg::testing::Environment* environment = new xorg::testing::Environment;
> + * environment->set_server("Xorg");
> + * environment->set_display(133);
> + * environment->set_conf_file("conf/dummy.conf");
> + * environment->set_log_file("/tmp/MyDummyXorg.log");
> * testing::AddGlobalTestEnvironment(environment);
> * @endcode
> * or link to libxorg-gtest_main.
> @@ -65,12 +60,8 @@ class Environment : public ::testing::Environment {
> public:
> /**
> * Constructs an object to provide a global X server dummy environment.
> - * @param path_to_conf Path to xserver configuration.
> - * @param path_to_server Path to xserver executable.
> - * @param display Display port of dummy xserver instance.
> */
> - Environment(const std::string& path_to_conf,
> - const std::string& path_to_server = "Xorg", int display = 133);
> + Environment();
>
> virtual ~Environment();
>
> @@ -87,6 +78,49 @@ class Environment : public ::testing::Environment {
> */
> const std::string& log_file() const;
>
> + /**
> + * Sets the path to the desired xserver configuration file.
> + *
> + * It will be passed on to the xserver via the command line
> + * argument "-config".
> + *
> + * @param path_conf_file Path to a Xorg X server .conf file.
> + */
> + void set_conf_file(const std::string& path_conf_file);
> +
> + /**
> + * Returns the path of the xserver configuration file to be used.
> + * Its default value is [datadir]/xorg/gtest/dummy.conf
> + * @return File path of the xserver configuration currently set
> + */
> + const std::string& conf_file() const;
> +
> + /**
> + * Sets the path to the xserver executable
> + * @param path_to_server Path to a xserver executable
> + */
> + void set_server(const std::string& path_to_server);
> +
> + /**
> + * Returns the path where the xserver executable to be used.
> + * Its default value is "Xorg"
> + * @return Path to xserver executable.
> + */
> + const std::string& server() const;
> +
> + /**
> + * Sets the display number that the xserver will use.
> + * @param diplay_num A display number.
> + */
> + void set_display(int display_num);
> +
> + /**
> + * Returns the display number of the xserver instance.
> + * Its default value is 133
> + * @return Display number of the xserver.
> + */
> + int display() const;
> +
I prefer the format:
/**
* Short description
*
* Long description and/or details
*
* @param lines, etc.
*/
The line separating the short and long description is required due to
our Doxygen setup.
I ammended the commit to put the comments in this format. I also moved
the default value comments to the setter functions. I think that's where
most people will look to find default values.
Everything else looks good! I pushed the patch to master.
Thanks!
-- Chase
More information about the xorg-devel
mailing list