summaryrefslogtreecommitdiff
path: root/unotest
AgeCommit message (Collapse)AuthorFilesLines
2018-10-08tdf#42949 Fix IWYU warnings in include/comphelper/[m-z]*Gabor Kelemen1-0/+1
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I04c5ba277d5b3398c07de6ae66713d977636088d Reviewed-on: https://gerrit.libreoffice.org/61347 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-09-17New loplugin:externalStephan Bergmann1-1/+1
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-07DeInitVCL in PythonTestStephan Bergmann2-1/+35
After b9757f5cfdb62b24e79eeb4c0ef0c8b98056cecf "loplugin:useuniqueptr in vcl/svdata" ASan/UBSan builds started to fail (like <https://ci.libreoffice.org//job/lo_ubsan/1025/>) at the end of PythonTest_dbaccess_python (and probably other PythonTests), when during exit the static utl::ConfigManager instance already happens to be destroyed by the time the static ImplSVData's mpSettingsConfigItem is destroyed (which would normally be cleared during DeInitVCL, if PythonTests would call that, and which in the past had thus simply been leaked in PythonTests when that mpSettingsConfigItem was a plain pointer instead of std::unique_ptr). So ensure that PythonTests that initialize VCL also call DeInitVCL, via a new private_deinitTestEnvironment, complementing the existing private_initTestEnvironment. However, while private_initTestEnvironment is called once (typically via UnoInProcess.setUp, which internally makes sure to only call it once) as soon as the first executed test needs it, private_deinitTestEnvironment must be called once after the lasts test needing it has executed. The only way that I found to do that is to override unittest.TextTestResult's stopTestRun method, which is called once after all tests have been executed. Hence a new test runner setup in unotest/source/python/org/libreoffice/unittest.py that is now called from solenv/gbuild/PythonTest.mk. That revealed a few places in PythonTests that didn't yet close/delete documents that they had opened, which has now been added. One remaining problem then is that classes like SwXTextDocument and friends call Application::GetSolarMutex from their dtors, via sw::UnoImplPtrDeleter (a "Smart pointer class ensuring that the pointed object is deleted with a locked SolarMutex", sw/inc/unobaseclass.hxx). That means that any PyUNO proxies to such C++ objects that remain alive after private_deinitTestEnvironment will cause issues at exit, when Python does a final garbage collection of those objects. The ultimate fix will be to remove that unhelpful UnoImplPtrDeleter and its locking of SolarMutex from the dtors of UNO objects; until then, the Python code is now sprinkled with some HACKs to make sure all those PyUNO proxies are released in a timely fashion (see the comment in unotest/source/python/org/libreoffice/unittest.py for details). (Also, it would probably help if UnoInProcess didn't keep a local self.xDoc around referencing (just) the last result of calling one of its open* methods, confusingly making it the responsibility of UnoInProcess to close that one document while making it the responsibility of the test code making the other UnoInProcess.open* calls to close any other documents.) Change-Id: Ief27c81e2b763e9be20cbf3234b68924315f13be Reviewed-on: https://gerrit.libreoffice.org/60100 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-29cppcheck: useInitializationList in test to xmloffJochen Nitschke1-2/+1
Change-Id: I50545784c5412ab7767f401c6e40058a1d0bfab0 Reviewed-on: https://gerrit.libreoffice.org/58262 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-27Related: rhbz#1602589 add comments to coverity annotationsCaolán McNamara1-1/+1
Change-Id: I88c941832a0d682ea4b6028c28edd48cf5df38f7 Reviewed-on: https://gerrit.libreoffice.org/58093 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-29test: invoke ODF validator with custom schemasMichael Stahl1-4/+4
This requires a new validator jar for the -m flag to specify MathML schema. Change-Id: If99cf70f386a16a90ba676f8f5ff65a537c9ce56 Reviewed-on: https://gerrit.libreoffice.org/56487 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
2018-05-05Fix typosAndrea Gelmini1-1/+1
Change-Id: I156afb90e159b6e13cf304ac8f6ff9274cb2c7ec Reviewed-on: https://gerrit.libreoffice.org/53641 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-04-14Fix typosAndrea Gelmini1-1/+1
Change-Id: I981cfdf97d132afdd4d3729ec76b6a3f4c62909a Reviewed-on: https://gerrit.libreoffice.org/52210 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-04-06Fix Python file URL construction on WindowsStephan Bergmann1-5/+2
...after d76281864b0e83812c0edf7490b1e8271e89fff5 "Create temp copies of test docs in Python/UITests" Change-Id: I4b6a5149c68f9e6cdc0a2037c07b50e8acc3623f Reviewed-on: https://gerrit.libreoffice.org/52486 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-04-03Create temp copies of test docs in Python/UITestsStephan Bergmann1-9/+29
...where necessary, so the tests will succeed if SRCDIR is a read-only tree. Change-Id: Iea4c52d5982d3eba079088ef1670ff557ce30c3f Reviewed-on: https://gerrit.libreoffice.org/52122 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-11loplugin:salcall fix functionsNoel Grandin2-2/+2
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-20cosmetics: Drop duplicate semicolonTakeshi Abe1-1/+1
Change-Id: I96d2ffb903f9ed15070572552c9564b5089df12f Reviewed-on: https://gerrit.libreoffice.org/44914 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2017-10-23loplugin:includeform: unotestStephan Bergmann10-56/+56
Change-Id: I2c545951eba154ac34db32f97e37c03edb790fd4
2017-09-07unotest.py: refactor confusing mess of openDoc functionsMichael Stahl1-45/+18
Change-Id: I148332c639510c55dea2d09bc7aa695708fbf34c
2017-08-24Consistently use OUString in test::DirectoriesStephan Bergmann1-14/+4
Change-Id: Ia5fd8af34ee9d2f37e4450ab241f6bb9a06445b2 Reviewed-on: https://gerrit.libreoffice.org/41466 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-08-22unotest: really run every CppunitTest with its own user profileMichael Stahl1-4/+0
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>
2017-05-27tdf#97362: CheckBookmarks unittest migrated to python (check_bookmarks.py)jmzambon1-0/+12
Change-Id: Ie5fa41d4346d921ed905795b76ea3c3e90b3d4a2 Reviewed-on: https://gerrit.libreoffice.org/38080 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-05-07revert OSL_ASSERT changesChris Sherlock1-1/+1
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
2017-05-07tdf#43157: convert unotest from OSL_ASSERT to assertChris Sherlock1-1/+1
Change-Id: I4fa580adfe9cc9a49824c5a4ef0f37c46b71a98d
2017-04-28loplugin:cppunitassertequals: unotestStephan Bergmann1-2/+4
Change-Id: If2ebd9ffcab036ecb7b07038346c8a8f8e059cbe
2017-04-21gbuild: Remove MSVC 2013 legacy codeDavid Ostrovsky3-3/+0
Uwinapi is discontinued. Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01 Reviewed-on: https://gerrit.libreoffice.org/23198 Reviewed-by: David Ostrovsky <david@ostrovsky.org> Tested-by: David Ostrovsky <david@ostrovsky.org>
2017-03-13Revert "comphelper: fix MSVC hang in ThreadPool::shutdown()"Miklos Vajna1-3/+0
As it causes "unopkg.bin: /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/comphelper/source/misc/threadpool.cxx:96: comphelper::ThreadPool::~ThreadPool(): Assertion `mbTerminate' failed." in <https://ci.libreoffice.org/job/lo_gerrit/8283/Config=linux_clang_dbgutil_64/console> and also locally. Revert till it's clear if that assert() should be a SAL_WARN() or unopkg has to be fixed. This reverts commit 9899ffd244dd367ba69dffe1f21f4f0222064a46. Change-Id: I72902f7da410012340aa8231d84c6871a3f7b976
2017-03-11comphelper: fix MSVC hang in ThreadPool::shutdown()Michael Stahl1-0/+3
Commit aa68c99d88fd7abe08c4aee5206c859a0cdba38e added some code using std::condition_variable to comphelper. Built with MSVC 2017, this causes many cppunittester.exe processes to deadlock in ThreadPool::shutdown(): maTasksChanged.notify_all(); This ultimately calls NtReleaseKeyedEvent(), which never returns. The reason appears to be a bug in Windows 7, for which a "hotfix"[1] is avaiable here, but it's apparently not distributed via Windows Update so we likely can't rely on users or even developers having this installed. However, the documentation of DllMain[2] and ExitProcess[3] indicates that during shutdown, by the time global destructors are invoked all threads other than the one that called ExitProcess have already been terminated. Returning from main() implicitly calls ExitProcess [4]. As it turns out the problem only happens for some CppUnitTests because soffice.bin will call ThreadPool::shutdown() from Desktop::doShutdown() while it is still safe. [1] http://support.microsoft.com/kb/2582203 [2] https://msdn.microsoft.com/en-US/library/windows/desktop/ms682583(v=vs.85).aspx [3] https://msdn.microsoft.com/en-us/library/windows/desktop/ms682658(v=vs.85).aspx [4] https://blogs.msdn.microsoft.com/oldnewthing/20100827-00/?p=13023 Change-Id: I6137461ca7efe9a5fbe4f8f8478fb96de3570469 Reviewed-on: https://gerrit.libreoffice.org/35066 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-03-02Fix typosAndrea Gelmini1-1/+1
Change-Id: I139e6948e92a7bcdce5a2197b9d3754cb9549a33 Reviewed-on: https://gerrit.libreoffice.org/34781 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-12ChartDumpTest: A new chart test suite for a more sistematic testingTamás Zolnai1-0/+5
A hibrid of dumper tests (xmlDump) and simple CppUnit tests. Advantages: * Easy to add a new test case ** Add a new test file and generate the reference ** Similar to dumper tests * Easy to find out the root of the problem when test fails ** Assertion is not coming somewhere from an XML file ** Assertion are placed in the code, so if you read and understand that code, you can find out easier why the test fails. ** Similar to simple CppUnit tests. * One test checks only one smaller part of the whole document ** e.g. legend, chart data, grid Change-Id: I7bba5a37efcc62d6358c84acece91963243a914f Reviewed-on: https://gerrit.libreoffice.org/34154 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-01-17remove some unused Java codeNoel Grandin1-9/+0
Change-Id: Ia1663256fc0b92c343ea4ba55a821c969077a0aa Reviewed-on: https://gerrit.libreoffice.org/33174 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-12-01loplugin:unnecessaryoverride (dtors) in unotestStephan Bergmann1-2/+0
Change-Id: Ib9114cafb3732d11017b98405d1ca60052801675
2016-11-26screenshots: builddir is not neccessarily same as srcdirChristian Lohmaier1-2/+0
Change-Id: Ic7d3d7854eeb5511d5e94e7329fcffa8a3ccba34 Reviewed-on: https://gerrit.libreoffice.org/31160 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2016-11-21remove dep on unotest from osl_Pipe testDavid Tardon3-43/+2
Change-Id: I5f5862a684e52bd3d1336fa9f8cffa77cdebbe4c
2016-10-26normalize existing emacs/vim mode-lines in python filesMichael Stahl1-2/+2
Bunch of these were setting C++ or Make modes and icky tabs... Also, reportedly Emacs can figure out to enable python-mode automatically. Change-Id: I50072488fb92cb4d27aa3f74f717a28ae3967543
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann2-2/+2
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-05-16Fix typosAndrea Gelmini1-1/+1
Change-Id: If7262e114b5b4cd40e9c0a8929940199ea747595 Reviewed-on: https://gerrit.libreoffice.org/25025 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-04-13tdf#94306 replace boost::noncopyable in stoc to xmlsec..Jochen Nitschke2-4/+8
Replace with C++11 delete copy-constructur and copy-assignment. Remove boost/noncopyable.hpp includes. Add missing default ctors. With this commit there should be no users of boost::noncopyable left. Change-Id: I6b1e47824912a6a80cc3f00f34938ebc048d8975 Reviewed-on: https://gerrit.libreoffice.org/24051 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-04-12cleanup: remove unused com/sun/star/uno includesJochen Nitschke1-1/+0
Sequence.h(xx), Any.h(xx) and Type.h(xx) and remove unused using-declarations from these files. Add a few missing includes provided by them. Change-Id: I6b91b6d1fdf9d0496dd546c0aab9bdcc6831a5d4 Reviewed-on: https://gerrit.libreoffice.org/23805 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-02cleanup: remove unused Reference.h(xx) includesJochen Nitschke1-1/+0
and unused using-declarations from Reference.h Change-Id: I297a7ae6044fa329d245ecf08fd5c4cb930f5b19 Reviewed-on: https://gerrit.libreoffice.org/23735 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-03-10Special case for ANDROID is supposed to no longer be neededStephan Bergmann1-5/+0
...see Miklos' comment at <https://gerrit.libreoffice.org/#/c/23078/1> "Extract Directories from BootstrapFixtureBase." Change-Id: Ib8bd52a9960e4631802e5649c97147c074adddc6
2016-03-10Extract Directories from BootstrapFixtureBaseStephan Bergmann3-64/+76
(as some tests derive from the latter only for the Directories part, not for the setUp/tearDown overrides: those tests will be cleaned up next) Change-Id: Ib6b78eea868b8bc21d4cc6e8fd9e1d025deca05f Reviewed-on: https://gerrit.libreoffice.org/23078 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-01-10Fix typosAndrea Gelmini2-2/+2
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05RC4 encrypt some WMF and TIFF test filesMichael Stahl1-1/+2
Reportedly some virus scanners warn about some of these files. Use a new "RC4" name prefix since the files don't come from external sources. http://permalink.gmane.org/gmane.comp.documentfoundation.libreoffice.devel/69200 Change-Id: I6d4cff2fdd5c0134bf2c77558ea09b3196b39be9
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann5-14/+14
Change-Id: Ie7e4b028ee0cd6e0254dda8dfe3c70973865bc03
2015-11-06loplugin:stringconstant: elide explicit ctor usage (manually due to macros)Stephan Bergmann1-2/+2
Change-Id: I888a2487201d6f6e9923de156bc616897b828624
2015-11-06loplugin:stringconstant: elide explicit ctor usage (automatic rewrite)Stephan Bergmann1-2/+2
Change-Id: I909557f7ca803de8dc8604e95cc66430abb13f53
2015-11-05use uno::Reference::set method instead of assignmentNoel Grandin2-2/+2
Change-Id: Id57ccff7ea6cf5c7053b51268b1190f5459bb357
2015-11-04yyyyyNoel Grandin2-2/+2
Change-Id: I9a947beefd2dfe21da8239e841ea3fb416bd1548
2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann2-2/+2
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-09-30Fix typosAndrea Gelmini1-2/+2
Change-Id: I3926eca56ac9f54f9ddbf88610888ce97cf00b34 Reviewed-on: https://gerrit.libreoffice.org/18990 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-09-15Use CPPUNIT_ASSERT_EQUALStephan Bergmann1-11/+11
Change-Id: Id4305098e3139bb21711fefb350fa2574e3638cd
2015-08-24Clean up outputStephan Bergmann1-4/+3
Change-Id: I4fbcd03e4af82ba8e3697651ddce92ba0ba450a6
2015-08-24Make test order deterministicStephan Bergmann1-49/+66
Change-Id: I9980034f0cb948acd6bb20aaf0fc27928ac68913
2015-08-06unotest.py: call the magic bootstrap init function once onlyMichael Stahl1-1/+6
Change-Id: I5f775234f44c23386af19f973a9f895a39fa31d5