Difference between revisions of "Test Cleanup"
From Apache OpenOffice Wiki
Line 3: | Line 3: | ||
See the [http://www.openoffice.org/servlets/ReadMsg?list=dev&msgNo=26189 mission statement mail]. | See the [http://www.openoffice.org/servlets/ReadMsg?list=dev&msgNo=26189 mission statement mail]. | ||
− | + | == Details == | |
− | == CppUnit 1.12.1 == | + | Working on {{CWS|sb118}}, {{CWS|sb120}}. |
+ | |||
+ | === CppUnit 1.12.1 === | ||
* Replace existing <code>cppunit</code> and <code>testshl2</code> combo with latest CppUnit 1.12.1. | * Replace existing <code>cppunit</code> and <code>testshl2</code> combo with latest CppUnit 1.12.1. | ||
+ | * OOo <code>configure --with-system-cppunit</code> (for now only if also <code>--with-system-stl</code>!); minimal required version for now arbitrarily 1.12.1. | ||
* '''TODO:''' Upstream <code>PATCH_FILES</code> (<code>windows.patch</code>?!?). | * '''TODO:''' Upstream <code>PATCH_FILES</code> (<code>windows.patch</code>?!?). | ||
* '''TODO:''' <code>RPATH</code> in generated libraries and executables. | * '''TODO:''' <code>RPATH</code> in generated libraries and executables. | ||
* '''TODO:''' Improve <code>CPPUNIT_PLUGIN_EXPORT</code> and get rid of version maps (GCC exception problems?). | * '''TODO:''' Improve <code>CPPUNIT_PLUGIN_EXPORT</code> and get rid of version maps (GCC exception problems?). | ||
− | |||
* '''TODO:''' <code>cppunit/makefile.mk</code> <code>MY_LIBS = -lm</code> Solaris hack. | * '''TODO:''' <code>cppunit/makefile.mk</code> <code>MY_LIBS = -lm</code> Solaris hack. | ||
* '''TODO:''' In general OOo build environment, no longer set <code>CFLAGS</code> etc. as environment variables; have package-specific <code>OOO_<var>package</var>_CFLAGS</code> etc. and combine those into <code>CFLAGS</code> etc. where necessary (see <code>OOO_STLPORT_CXXFLAGS</code> etc. in <code>cppunit/makefile.mk</code>). | * '''TODO:''' In general OOo build environment, no longer set <code>CFLAGS</code> etc. as environment variables; have package-specific <code>OOO_<var>package</var>_CFLAGS</code> etc. and combine those into <code>CFLAGS</code> etc. where necessary (see <code>OOO_STLPORT_CXXFLAGS</code> etc. in <code>cppunit/makefile.mk</code>). | ||
Line 17: | Line 19: | ||
* '''TODO:''' Make <code>CppUnit::assertion_traits<rtl::OUString></code> from <code>smoketestoo_native/smoketest.cxx</code> generally available. | * '''TODO:''' Make <code>CppUnit::assertion_traits<rtl::OUString></code> from <code>smoketestoo_native/smoketest.cxx</code> generally available. | ||
− | == <code>testshl2</code> == | + | === <code>testshl2</code> === |
* <code>solenv/inc_cppunit.mk</code>/<code>cppunit.mk</code>: [http://hg.services.openoffice.org/cws/sb118/rev/cf13421c3774 “adapted <code>cppunit.mk</code> to <code>cppunittester</code> and no longer require ‘<code>dmake test</code>’ to run tests”]. | * <code>solenv/inc_cppunit.mk</code>/<code>cppunit.mk</code>: [http://hg.services.openoffice.org/cws/sb118/rev/cf13421c3774 “adapted <code>cppunit.mk</code> to <code>cppunittester</code> and no longer require ‘<code>dmake test</code>’ to run tests”]. | ||
* '''TODO:''' <code>DEV300_m68</code> introduced <code>TESTSHL2LIB</code> (which I removed again) and uses it in many <code>qa</code> makefiles (that I need to touch someday, anyway). | * '''TODO:''' <code>DEV300_m68</code> introduced <code>TESTSHL2LIB</code> (which I removed again) and uses it in many <code>qa</code> makefiles (that I need to touch someday, anyway). | ||
− | == Unit Tests == | + | === Unit Tests === |
* <code>OOO_SUBSEQUENT_TESTS</code> (<code>build.lst</code> lists local dependencies of those directories, so that modifying a module and then calling “<code>OOO_SUBSEQUENT_TESTS=x build</code>” rebuilds the module and executes the tests). | * <code>OOO_SUBSEQUENT_TESTS</code> (<code>build.lst</code> lists local dependencies of those directories, so that modifying a module and then calling “<code>OOO_SUBSEQUENT_TESTS=x build</code>” rebuilds the module and executes the tests). | ||
Line 28: | Line 30: | ||
* '''TODO:''' Constructs like “<code>-env:UNO_<var>…</var>=$(my_file)<var>…</var></code>” would fail for problematic characters (spaces!) in paths. | * '''TODO:''' Constructs like “<code>-env:UNO_<var>…</var>=$(my_file)<var>…</var></code>” would fail for problematic characters (spaces!) in paths. | ||
− | == Smoke Test == | + | === Smoke Test === |
* Redesign <code>smoketestoo_native</code> to use CppUnit and pre-installed OOo. | * Redesign <code>smoketestoo_native</code> to use CppUnit and pre-installed OOo. | ||
Line 36: | Line 38: | ||
* '''TODO:''' <code>-headless</code>? (appears to still display windows on Windows and Mac OS X, however, see {{issue|109052}}) | * '''TODO:''' <code>-headless</code>? (appears to still display windows on Windows and Mac OS X, however, see {{issue|109052}}) | ||
− | == Pre-Installed OOo == | + | === Pre-Installed OOo === |
* For Sun Hamburg Release Engineering, take MWS archive installation sets from “S:” instead of solver: [http://hg.services.openoffice.org/cws/sb118/rev/d5dbea724063 “take installation set from <code>SHIPDRIVE</code> if appropriate”]. | * For Sun Hamburg Release Engineering, take MWS archive installation sets from “S:” instead of solver: [http://hg.services.openoffice.org/cws/sb118/rev/d5dbea724063 “take installation set from <code>SHIPDRIVE</code> if appropriate”]. | ||
* '''TODO:''' <code>PKGFORMAT=installed</code> instead of <code>archive</code>? | * '''TODO:''' <code>PKGFORMAT=installed</code> instead of <code>archive</code>? | ||
− | == <code>unoapi</code> Tests == | + | === <code>unoapi</code> Tests === |
* Known issues: {{issue|109517}}, {{issue|109518}}, {{issue|109643}}, {{issue|109917}}. | * Known issues: {{issue|109517}}, {{issue|109518}}, {{issue|109643}}, {{issue|109917}}. |
Revision as of 09:14, 15 March 2010
Test Cleanup Project
See the mission statement mail.
Details
Working on CWS sb118 , CWS sb120 .
CppUnit 1.12.1
- Replace existing
cppunit
andtestshl2
combo with latest CppUnit 1.12.1. - OOo
configure --with-system-cppunit
(for now only if also--with-system-stl
!); minimal required version for now arbitrarily 1.12.1. - TODO: Upstream
PATCH_FILES
(windows.patch
?!?). - TODO:
RPATH
in generated libraries and executables. - TODO: Improve
CPPUNIT_PLUGIN_EXPORT
and get rid of version maps (GCC exception problems?). - TODO:
cppunit/makefile.mk
MY_LIBS = -lm
Solaris hack. - TODO: In general OOo build environment, no longer set
CFLAGS
etc. as environment variables; have package-specificOOO_package_CFLAGS
etc. and combine those intoCFLAGS
etc. where necessary (seeOOO_STLPORT_CXXFLAGS
etc. incppunit/makefile.mk
). - TODO: Why use
cppunittester
instead ofDllPlugInTester
? (Remove building/deliveringDllPlugInTester
.) - TODO: Make
CppUnit::assertion_traits<rtl::OUString>
fromsmoketestoo_native/smoketest.cxx
generally available.
testshl2
solenv/inc_cppunit.mk
/cppunit.mk
: “adaptedcppunit.mk
tocppunittester
and no longer require ‘dmake test
’ to run tests”.- TODO:
DEV300_m68
introducedTESTSHL2LIB
(which I removed again) and uses it in manyqa
makefiles (that I need to touch someday, anyway).
Unit Tests
OOO_SUBSEQUENT_TESTS
(build.lst
lists local dependencies of those directories, so that modifying a module and then calling “OOO_SUBSEQUENT_TESTS=x build
” rebuilds the module and executes the tests).- TODO: If Build Environment 2.0 would build directly to solver (instead of local output tree/deliver), that would simplify tests that currently need to take care to test local libraries instead of solver ones (see, for example,
OOO_TEST_PREFIX
in theservices.rdb
ofstoc/test/uriproc/makefile.mk
). - TODO: Constructs like “
-env:UNO_…=$(my_file)…
” would fail for problematic characters (spaces!) in paths.
Smoke Test
- Redesign
smoketestoo_native
to use CppUnit and pre-installed OOo. - TODO: For
smoketestoo_native/makefile.mk
“-env:arg-env=$(OOO_LIBRARY_PATH_VAR)"$${{$(OOO_LIBRARY_PATH_VAR)+=$$$(OOO_LIBRARY_PATH_VAR)}}"
” mechanism:osl_executeProcess
ustrEnvironments
members without “=
”: all platforms; documentation; documentation ofosl_executeProcess_WithRedicrectedIO
. - TODO: Dynamically create
smoketestdoc.sxw
? - TODO: “changed
tools/debug
to never fall back from writing to shell to writing to file, and readDBGSV_INIT
fromrtl::Bootstrap
; the latter causes problems iftools/debug
is called from static code executing beforeSAL_MAIN
has calledosl_setCommandArgs
→ removed statics from code and added assertions toosl/process
; various improvements tosmoketests.cxx
(incl. passing an appropriatedbgsv.ini
for non-pro builds)”: Instead of-env:DBGSV_INIT=
insmoketest.cxx
(and supportingDBGSV_INIT
as bootstrap variable), globally in the build environment letDBGSV_INIT
environment variable point to adbgsv.ini
witherror=coredump
, to catch all assertions thrown during build time (incl. ones from tests like smoke test; see Issue 109142 ). - TODO:
-headless
? (appears to still display windows on Windows and Mac OS X, however, see Issue 109052 )
Pre-Installed OOo
- For Sun Hamburg Release Engineering, take MWS archive installation sets from “S:” instead of solver: “take installation set from
SHIPDRIVE
if appropriate”. - TODO:
PKGFORMAT=installed
instead ofarchive
?
unoapi
Tests
- Known issues: Issue 109517 , Issue 109518 , Issue 109643 , Issue 109917 .
- Missing tests: Issue 109564 .
- Sporadic failures: Issue 109728 , Issue 109770 , Issue 109916 , Issue 109939 .