OpenJDK Test Part4

Kerim Fırat
3 min readMar 29, 2021

OpenJDK Test Part1 makalesine buradan erişebilirsiniz.
OpenJDK Test Part2 makalesine buradan erişebilirsiniz.
OpenJDK Test Part3 makalesine buradan erişebilirsiniz.

Özel Testler İçin Notlar

Docker Testleri
Default parametrelerle Docker testleri,default Docker imajı ile uyumlu olmayan glibc sürümlerine sahip sistemlerde başarısız olabilir(Örn: X86 Oracle Linux 7.6). Örneğin testler Ubuntu x86 mimarisi üzerinde aşağıda verildiği gibi çalıştırılırsa,Ubuntu 16.04 üzerinden başarıyla geçerler ancak Ubuntu 18.04'de başarısız olurlar.

$ make test TEST="jtreg:test/hotspot/jtreg/containers/docker"

Bu testleri doğru şekilde çalıştırmak için,Ubuntu 18.04'te doğru Docker imajı için ek parametreler gereklidir. Bu ek parametreleri “JAVA_OPTIONS” kullanarak belirtilmelidir.
Örnek:

$ make test TEST="jtreg:test/hotspot/jtreg/containers/docker" \
JTREG="JAVA_OPTIONS=-Djdk.test.docker.image.name=ubuntu
-Djdk.test.docker.image.version=latest"

Sistem yerel dil ayarınız “_US” değil ise,muhtemelen bazı testler başarısız olacaktır. Bu sorunu çözmek için yerel dil ayarını “en_US” olarak ayarlayabilirsiniz. Unix platformunda,testleri çalıştırmadan önce çalışma ortamınızda LANG=”en_US” şeklinde ayar yapmanız yeterlidir.
Windows platformunda ise aşağıda verildiği gibi ayar yapabilirsiniz.
Dil ayarı çoğu test senaryoları için çözüm olacaktır ancak tüm test senaryoları için olmayabilir.

JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US"

Örneğin:

$ export LANG="en_US" && make test TEST=...
$ make test JTREG="VM_OPTIONS=-Duser.language=en -Duser.country=US" TEST=...

PKCS11 Testleri
PKCS11 testlerini çalıştırırken en son NSS sürümünü kullanmanız şiddetle tavsiye ediliyor.Uygun olmayan NSS sürümü,teşhis edilmesi zor beklenmedik hatalara-problemlere yol açabilir.
Örneğin “sun/security/pkcs11/Secmod/AddTrustedCert.java” default NSS sürümünde Ubuntu 18.04'te başarısız olabilir. Bu testleri doğru şekilde çalıştırmak için,Ubuntu 18.04'te alternatif NSS lib. dizinlerini belirtmek için sistem property “test.nss.lib.paths” tanımlamak gereklidir.
Örneğin:

$ make test TEST="jtreg:sun/security/pkcs11/Secmod/AddTrustedCert.java" \
JTREG="JAVA_OPTIONS=-Dtest.nss.lib.paths=/path/to/your/latest/NSS-libs"

PKCS11 testleri hakkında daha fazla içerik için “test/jdk/sun/security/pkcs11/README” bakabilirsiniz.

İstemci UI Testleri(Client UI Tests)
Bazı istemci UI testleri,işletim sistemi tarafından rezerve(ayrılmış) edilebilen anahtar dizilerini kullanır. Bu genellikle testin başarısız olmasına sebep olur. Bu nedenle,testten önce bu anahtar dizilerini devre dışı bırakılması şiddetle tavsiye ediliyor. Çeşitli platformlar için bu özelliğin etkin edilmesi ve devre dışı bırakma ile ilgili yapılması gereken adımlar aşağıda verilmiştir.

MacOS
MacOS platformunda “Apple Menüsünü” ve devamında “Sistem Tercihleri” seçin. Sistem tercihlerinde “Klavye(Keyboard veya Tuş takımı)” tıklayın ve akabinde “Kısayolları” tıklayın. Burada istenen kısayol seçebilir veya seçimi kaldırabilirsiniz. Klavye erişim adımları sisteme/sürüme göre farklılık gösterebilir. Temel nokta “Klavye” menüsüne erişimdir.
Örneğin “test/jdk/javax/swing/TooltipManager/JMenuItemToolTipKeyBindingsTest/JMenuItemToolTipKeyBindingsTest.java” MacOS’ta başarısız oluyor.
Çünkü bu test,tooltip mesajını göstermek ve gizlemek için “CTRL + F1” tuş kombinasyonunu kullanıyor.Ancak bu tuş kombinasyonu işletim sistemi tarafından rezerve edilmiştir. Dolayısıyla bu durum hataya sebep olmaktadır.
Testi sorunsuz şekilde çalıştırabilmek için,yukarıda açıklanan adımları takip ederek klavye’de yer alan genel tuş kısayolları devre dışı bırakılmalıdır.

Linux
Linux platformunda klavye kısayollarını devre dışı bırakmak için menü’den “Klavye” veya “Keyboard” penceresine ulaşın. Klavye penceresinden kısayolları aktif veya devre dışı bırakabilirsiniz.
Klavye erişim adımları sisteme/sürüme ve masaüstü ortamına göre farklılık gösterebilir. Temel nokta “Klavye” menüsüne erişimdir.

Windows
En son XP sistemini kullanmıştım.Bundan dolayı açıkçası windows ortamında menü adımları nasıldır bilmiyorum. Ancak dökümantasyonda yer alan adımları aşağıda belirtildiği gibidir.

Arama(Search) alanına “gpedit” yazın ve ardından “Grup” düzenle’yi tıklayın. Burdan “Kullanıcı Yapılandırması->Yönetim Şablonları->Windows Bileşenleri->Dosya Gezgini”’ne gidin. Pencerenin sağ tarafındaki bölmede “Windows Tuş Kısayolları Kapatın”’ı çift tıklayın. Burada aktif veya devre dışı bırakabilirsiniz. Buarada ayarların geçerli olabilmesi için Windows’u resetleyin.

JDK test serisinin sonuna geldik. Tüm seri “http://openjdk.java.net" referans alınarak yazıldı.

OpenJDK üzerinde çalışırken,testlerle ilgili farklı kullanım ve deneyimlere yine aynı başlık adı(OpenJDK Test PartX,OpenJDK Test Part-xxx) altında yazılarıma devam edeceğim.

-end of

--

--

Kerim Fırat
Kerim Fırat

Written by Kerim Fırat

Senior Android Platform(AOSP,AAOS) Architect,Open Source Contributor | Turkey Java User Group Vice Chairman | Author

No responses yet