summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2017-08-22 21:35:44 +0200
committerMichael Stahl <mstahl@redhat.com>2017-08-22 22:42:11 +0200
commitd8bd81fff87acd0de39626da52bb7365f527157b (patch)
tree32da94f3bb05dfe9f5d0650943144a108f18a7be
parent2f2a56f91e0057ad502b4586714eb3c14fc069af (diff)
unotest: really run every CppunitTest with its own user profile
Apparently a sw unit test randomly read a partially written autotbl.fmt that was written by another unit test, in particular the file workdir/unittest/user/config/autotbl.fmt. The tests are actually started with -env:UserInstallation=$(call gb_Helper_make_url,$(call gb_CppunitTest_get_target,$*).user) to prevent exactly this problem, but unfortunately it's then overridden by a call to rtl::Bootstrap::set(), which overrides even command line arguments, from test::BootstrapFixtureBase::setUp(). Change-Id: I618574e94755ea38caf9583f3dcf7715396bca48 Reviewed-on: https://gerrit.libreoffice.org/41432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
-rw-r--r--solenv/gbuild/CppunitTest.mk3
-rw-r--r--unotest/source/cpp/bootstrapfixturebase.cxx4
2 files changed, 2 insertions, 5 deletions
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk
index cc6a70d1b5e1..0bd2e95b4efb 100644
--- a/solenv/gbuild/CppunitTest.mk
+++ b/solenv/gbuild/CppunitTest.mk
@@ -72,6 +72,7 @@ gb_CppunitTest_RUNTIMEDEPS += \
$(call gb_Library_get_target,localedata_es) \
$(call gb_Library_get_target,localedata_euro) \
$(call gb_Library_get_target,localedata_others) \
+ $(call gb_Package_get_target,test_unittest) \
define gb_CppunitTest__make_args
$(HEADLESS) \
@@ -115,7 +116,7 @@ else
$(if $(gb_CppunitTest_vcl_hide_windows),export VCL_HIDE_WINDOWS=1 && ) \
$(if $(gb_CppunitTest_vcl_show_windows),unset VCL_HIDE_WINDOWS && ) \
mkdir -p $(dir $@) && \
- rm -fr $@.user && mkdir $@.user && \
+ rm -fr $@.user && cp -r $(WORKDIR)/unittest $@.user && \
$(if $(gb_CppunitTest__use_confpreinit), \
$(INSTDIR)/program/lokconf_init $(call gb_CppunitTest__make_args) &&) \
$(if $(gb_CppunitTest__interactive),, \
diff --git a/unotest/source/cpp/bootstrapfixturebase.cxx b/unotest/source/cpp/bootstrapfixturebase.cxx
index e14736bd066f..2685d6bd6e2a 100644
--- a/unotest/source/cpp/bootstrapfixturebase.cxx
+++ b/unotest/source/cpp/bootstrapfixturebase.cxx
@@ -30,10 +30,6 @@ test::BootstrapFixtureBase::~BootstrapFixtureBase()
void test::BootstrapFixtureBase::setUp()
{
- // set UserInstallation to user profile dir in test/user-template
- OUString sUserInstallURL = m_directories.getURLFromWorkdir("/unittest");
- rtl::Bootstrap::set("UserInstallation", sUserInstallURL);
-
m_xContext = comphelper::getProcessComponentContext();
m_xFactory = m_xContext->getServiceManager();
m_xSFactory.set(m_xFactory, uno::UNO_QUERY_THROW);