jtreg - building java and cpp test

Pete Brunet peter.brunet at oracle.com
Thu Nov 19 21:07:24 UTC 2015


Thanks Jonathan, Is -native in use?  I see some infrastructure for it
but can't find (yet) that it's actually in use.  -Pete

On 11/19/15 12:44 PM, Jonathan Gibbons wrote:
>
>
> On 11/19/2015 07:46 AM, Pete Brunet wrote:
>> Hi, I need to build a regression test that has both Java and C++ code.
>> I see some similar cases in the test tree and they include the exe of
>> the cpp file.  I also see a Makefile.  If I run the test without the exe
>> it is not built so what is the Makefile for?  Documentation?
>>
>> The Makefile I used as a prototype has
>> cl -o name.exe name.cpp name.lib name.lib
>> but when I ran make at the command line cl was not found but at least at
>> this point I don't see the need to look into the cl failure if the
>> Makefile is just for documentation.
>>
>> Pete
>
> jtreg has no direct, complete solution for mixed code like this, and
> is unlikely to support
> it any time soon.
>
> You can use Makefiles from a shell script, but that is unlikely to be
> successful in a
> broad multi-platform world, like OpenJDK.  Not only is it problematic
> to know what
> compiler to use and where to find it, but at least in our internal
> test infrastructure,
> the test machines may not even have the native code compilers installed.
> (i.e. it is common practice to build and test on different host systems.)
>
> The compromise solution we adopted in conjunction with the Hotspot SQE
> team
> is to use the OpenJDK build process to compile the C/C++ code needed
> for the tests.
> The build has the info needed on how to do platform-specific
> compilation of native
> code.   The build can then generate a bundle that can be passed to
> jtreg with the
> -nativepath option.
>
> I cannot speak to the existence of Makefiles appearing in the
> regression test suite.
> Sometimes they are used manually to create native files that are
> checked in to the
> repo (uugh) and sometimes the tests are restricted to run on a limited
> set of platforms
> (e.g. Windows only, or Unix only.)
>
> -- Jon



More information about the jtreg-use mailing list