Unit Test JVM Issues / URE_INTERNAL_JAVA_DIR

Andrzej Hunt andrzej at ahunt.org
Sun Sep 15 14:02:41 PDT 2013


On Sat, 2013-09-14 at 08:14 +0100, Andrzej Hunt wrote:
> Hi Stefan/All,
> 
> I've been trying to track down why the jvm isn't usable in unit tests
> (attempted fix in https://gerrit.libreoffice.org/#/c/5936/ )
> 
> stoc/source/javavm/javavm.cxx needs to find java which it does by
> expanding URE_INTERNAL_JAVA_DIR. This seems to be set within "unorc",
> which is found automatically by cppuhelper (cppuhelper/source/paths.cxx
> -- getUnoIniuri()) -- this loads unorc from wherever cppuhelper library
> is  found(called libuno_ccpuhlpergcc3.so -- not sure why this is the
> naming scheme?).
> 
> Running LO from instdir: instdir/unxlngx6/ure/lib/unorc is used
> (generated by scp2/source/ooo/ure.scp) -- this contains the expected
> URE_INTERNAL_JAVA_DIR

(It seems I was mistaken on this: the instdir unorc looks like it's
copied directly from ure/source/unorc , the scp one is/was used for
installation/)



> What I'm still not able to do is have hsqldb itself load (fails on
> can't
> find org.hsqldb.jdbcDriver or similar) --this is since the driver has
> the hsqldb.jar path hardcoded in the sources as
> "$BRAND_BASE_DIR/" LIBO_SHARE_JAVA_FOLDER "/hsqldb.jar"
> (and the jdbc drivers specifically only load classes from the driver
> specific classpath) -- I guess if unit tests were to be run in instdir
> then that would allow things to work, I'm still thinking about how
> best
> to let them run in the current solver though (although I hear solver
> is
> to be gotten rid of eventually).

Would replacing LIBO_SHARE_JAVA_FOLDER with a macro/variable evaluated
at runtime (not sure of the terminology) similar to the
URE_INTERNAL_JAVA_DIR be acceptable? (I'll investigate the full details
tomorrow.) Currently LIB_SHARE_JAVA_FOLDER is hardcoded as the
instdir/installation specific path (e.g. program/classes) whereas in
solver jars are located in bin/)

Cheers,

	Andrzej



More information about the LibreOffice mailing list