Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?

Thanks Markus,

 

I had already figured out that running the AllTests Suite was a better idea (and much faster, because the suite has around 4000 tests whereas running “everything in the plugin” duplicates tests leading to over 14000).

 

Thanks for the detailed explanation though!

 

What about a crazy idea … creating a fake AAATest.testDontRunMe() which is not part of the suite, but runs first if somebody does what I did, and just prints “Please run one of the Suites instead” and then fails / aborts the run with an exit() ?

 

Thanks,

Martin

--

Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River

 

From: <platform-swt-dev-bounces@xxxxxxxxxxx> on behalf of Markus Keller <markus_keller@xxxxxxxxxx>
Reply-To: "Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Date: Friday 21 April 2017 at 17:26
To: "Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Subject: Re: [platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?

 

Hi Martin

> And, quite early in the test suite some 50 tests always fail with “not implemented [multiple displays]”.
> See attached screenshot – re-running the failed tests only (from the Junit “failed tests” filter) makes
> Them succeed. Any ideas on that one?

It looks like you tried to run all tests in the org.eclipse.swt.tests.junit package.
SWT tests are already organized in test suites, with one top-level suite that contains all the other tests in the right order.

=> You have to run org.eclipse.swt.tests.junit.AllTestsas a single test class (using the JUnit 4 test runner).

The concrete reason for your test failures is that Test_org_eclipse_swt_widgets_Display can only run very early. In that test class, each test method creates and eventually destroys a Display.
Other SWT test classes typically use something like "new Shell()" in their setUp(), i.e. they let SWT create the "current" Display if it's not already been created.
Those tests leak the Display, and that leads to the test failures if you run tests in an unsupported order.

Markus




From:        "Oberhuber, Martin" <Martin.Oberhuber@xxxxxxxxxxxxx>
To:        "Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Date:        2017-04-19 23:15
Subject:        Re: [platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?
Sent by:        platform-swt-dev-bounces@xxxxxxxxxxx





Hi again,
 
So I can answer the 3rd question myself (“hang on printers”), this was
https://bugs.eclipse.org/bugs/show_bug.cgi?id=215234
and I could work around it by “sudo yum install cups && /etc/init.d/cups restart”.
 
Tests are looking reasonably good now, though I encountered a reproducible crash:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=515471
 
And, quite early in the test suite some 50 tests always fail with “not implemented [multiple displays]”.
See attached screenshot – re-running the failed tests only (from the Junit “failed tests” filter) makes
Them succeed. Any ideas on that one?
 
The other 2 questions remain from below E-Mail (regarding docs and how to build properly).
 
Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River
 
From: <platform-swt-dev-bounces@xxxxxxxxxxx> on behalf of Martin Oberhuber <Martin.Oberhuber@xxxxxxxxxxxxx>
Reply-To:
"Eclipse Platform SWT component developers list." <platform-swt-dev@xxxxxxxxxxx>
Date:
Wednesday 19 April 2017 at 18:43
To:
"platform-swt-dev@xxxxxxxxxxx" <platform-swt-dev@xxxxxxxxxxx>
Subject:
[platform-swt-dev] How to build SWT JNI Natives on gtk-linux-x86_64 ?

 
Hi SWT Experts,
 
I’m trying to build my own SWT GTK Fragment on RHEL 6 / x86_64
(because of https://bugs.eclipse.org/bugs/show_bug.cgi?id=515155).
 
1.      I followed this article, running build.xml:build_libraries from the gtk.linux.x86_64 fragment:
https://www.eclipse.org/swt/jnigen.php
but the build runs into an error:

[exec] cc1plus: error: /bluebird/teamswt/swt-builddir/mozilla/1.7/amd64/mozilla/dist/sdk/include/mozilla-config.h: No such file or directory

     
2.      So I found “Building the SWT natives on Ubuntu…(without XULRunner support)” here:
https://www.eclipse.org/swt/faq.php#howbuilddll
And adding “targets = install” on the Properties tab did help, but I found the instructions inaccurate because they didn’t ask to select build.xml in the org.eclipse.swt.gtk.linux.x86_64 fragment before doing right-click > Run As > Ant Build…

 
3.      So finally I tried running “build.sh” as per the FAQ URL above, since it seemed to be able to find the libxulrunner-dev of my system. But the build.sh resides in a different directory than documented and running it produces this error:
make_linux.mak:23: make_common.mak: No such file or directory
make: *** No rule to make target 'make_common.mak'.  Stop.
*** GTK2 Build failed.

 
Now I’m confused …
-          Which of the 3 instructions is supposed to be the right one?
-          Is there any value building XULRunner (eg for some Unittests) if I plan to use Webkit instead? If yes, how would I build it properly?
-          With the Libs built from approach 2, I tried running the tests (o.e.swt.tests > Run As > Junit). Many of the 14230 tests do succeed, but it gets stuck in #2962 test_printLorg_eclipse_swt_printing_Printer . I didn’t find a Bugzilla for that … any ideas?
 
For the records, here’s what I installed on my RHEL6 for the build:
yum install gtk2-devel libXtst-devel libXt-devel webkitgtk-devel xulrunner-devel
 
Thanks,
Martin
--
Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River
 [attachment "swtrhel6_50_tests_fail.png" deleted by Markus Keller/Zurich/IBM] _______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev




Back to the top