cc'ing build-dev

On 2/12/2015 1:28 AM, Carsten Varming wrote:
Dear David,

See inline.

On Tue, Dec 1, 2015 at 2:26 AM, David Holmes <david.hol...@oracle.com
<mailto:david.hol...@oracle.com>> wrote:

    Hi Carsten,

    On 1/12/2015 8:21 AM, Carsten Varming wrote:

        Dear Ioi,

        Absolutely,

        diff -r 7606b8556225 test/Makefile
        --- a/test/Makefile     Thu Nov 26 13:13:03 2015 +0100
        +++ b/test/Makefile     Mon Nov 30 17:20:30 2015 -0500
        @@ -156,7 +156,7 @@
             TESTNATIVE_DIR = $(JPRT_TESTNATIVE_PATH)
           endif
           ifdef TESTNATIVE_DIR
        -  JTREG_NATIVE_PATH = -nativepath:$(shell $(GETMIXEDPATH)
        "$(TESTNATIVE_DIR)/hotspot/jtreg/native")
        +  JTREG_NATIVE_PATH = -nativepath:$(shell $(GETMIXEDPATH)
        "$(TESTNATIVE_DIR)/hotspot/jtreg/native/lib")
           endif


    In hotspot/make/test/JtregNative.gmk we have:

    BUILD_HOTSPOT_JTREG_OUTPUT_DIR :=
    $(BUILD_OUTPUT)/support/test/hotspot/jtreg/native


The SetupTestFilesCompilation macro adds the subdirectory "lib" to the
path such that the ".so" files (or ".dylib" files) end up in
$(BUILD_OUTPUT)/support/test/hotspot/jtreg/native/lib.

Thanks for that. Tracing through these makefile macros is far too painful. I wish there were some way to see what they looked like once expanded.

    so the above patch should not be needed.


Without the patch the following sequence of commands fails:
sh configure --enable-debug
make images
make build-test-hotspot-jtreg-native
cd hotspot/test
make TESTDIRS=runtime/SameObject
TESTNATIVE_DIR=../../build/macosx-x86_64-normal-server-fastdebug/support/test
JT_HOME=/Users/cvarming/workspace/jtreg/jtreg
JAVA_HOME=../../build/macosx-x86_64-normal-server-fastdebug/images/jdk
PRODUCT_HOME=$JAVA_HOME jtreg_tests

TEST RESULT: Failed. Execution failed: `main' threw exception:
java.lang.UnsatisfiedLinkError: no SameObject in java.library.path

and java.library.path is defined
by: 
-Djava.library.path=/Users/cvarming/workspace/jdk9-rt/hotspot/test/../../build/macosx-x86_64-normal-server-fastdebug/support/test/hotspot/jtreg/native

What I see in a JPRT build is simply:

(cd /scratch/hotspot/make/test && make -r -R -I /scratch/make/common SPEC=/scratch/build/linux-x86-normal-clientANDserver-fastdebug/spec.gmk MAKE_LOG_FLAGS="" LOG_LEVEL=debug -f JtregNative.gmk \
    test-image-hotspot-jtreg-native)


On the other hand, with the patch the test runs fine. Looking at
SameObject.jtr I can
see: 
-Djava.library.path=/Users/cvarming/workspace/jdk9-rt/hotspot/test/../../build/macosx-x86_64-normal-server-fastdebug/support/test/hotspot/jtreg/native/lib,
i.e., "/lib" is appended to the path and the test pass.

So I wonder, are these tests run by JPRT? And if they are, then what I
am doing wrong?

Yes they are run (or some subset thereof). The -nativepath that gets passed to jtreg does not include a lib component.

I'm afraid I don't know what is going wrong.

David
-----

BTW. This paths above are taken from runs on my mac. The problem also
occurs on my Linux desktop.

Carsten

    David
    -----




           # Expect JPRT to set JPRT_ARCHIVE_BUNDLE (path to zip bundle
        for results)

        Carsten

        On Mon, Nov 30, 2015 at 5:17 PM, Ioi Lam <ioi....@oracle.com
        <mailto:ioi....@oracle.com>> wrote:

            Your patch seems to have been stripped by the mailer. Is it
            possible to
            just include it as plain text in the e-mail?

            Thanks
            - Ioi


            On 11/30/15 1:34 PM, Carsten Varming wrote:

                Hi everyone,

                I was recently trying to run some tests that use native
                code, e.g.,
                hotspot/runtime/SameObject/SameObject.java and found
                that I had to apply
                the attached diff to get the tests to work.

                I am doing something wrong or is this a trivial bug?

                Carsten




Reply via email to