Adding cppunit test to ucb.ucp.webdav
Stephan Bergmann
sbergman at redhat.com
Tue Jan 19 06:38:32 PST 2016
On 01/19/2016 03:13 PM, Giuseppe Castagno wrote:
> Hi all,
>
> I'm trying to add unit tests to webdav, for the time being limited to
> member function that are used internally, that is that don't need a
> server to interact with.
>
> Member functions in library ucpdav1 are not exported (so I gather...).
>
> Is the following method allowed to make externally visible member
> function that I intend to test? Any downside?
>
> Limited to webdav_ucp::NeonUri as the first to be checked:
>
> diff --git a/ucb/source/ucp/webdav-neon/NeonUri.hxx
> b/ucb/source/ucp/webdav-neon/NeonUri.hxx
> index cd9fbe9..c5cea8c 100644
> --- a/ucb/source/ucp/webdav-neon/NeonUri.hxx
> +++ b/ucb/source/ucp/webdav-neon/NeonUri.hxx
> @@ -41,7 +41,8 @@ namespace webdav_ucp
> #define DEFAULT_FTP_PORT 21
>
> // A URI implementation for use with the neon/expat library
> -class NeonUri
> +// Added SAL_DLLPUBLIC_EXPORT to implement cppunit test
> +class SAL_DLLPUBLIC_EXPORT NeonUri
There's two approaches to this ugly problem. One is as above, with the
downside of increasing the number of global symbols. The other is to
link a Library's objects directly into a CppunitTest library via
gb_CppunitTest_use_library_objects. The downside there is that you need
typically duplicate all the Library_*.mk's
gb_Library_set/use/whatever... calls as gb_CppunitTest_... calls in the
CppunitTest_*.mk.
Both approaches suck. When possible, try to stick with the second one,
though.
More information about the LibreOffice
mailing list