2012-07-17 12 views
6

Bambuda bazı jbehave (otomatik) testleri yapmam gerekiyor. Testler çalıştıktan sonra, bambu ile aynı şeyi anlayabilmek için bazı uyumlu uyumlu xml dosyaları üreteceğim. Tüm jbehave testleri bir senaryonun bir parçası olarak yürütülüyor çünkü jbehave testlerini ayrı bir ekran ekranında çalıştırmam gerekiyor (bunlar otomatik tarayıcı testlerini hatırlıyor). Örnek komut aşağıdaki gibidir.Tüm sınamalar geçti, ancak "Yapılandırma başarısız testi bulunamadı, olası bir derleme hatası oluştu" ifadesiyle bambu yapı başarısız oluyor.

Ör:

export DISPLAY=:0 && xvfb-run --server-args="-screen 0, 1024x768x24" 
mvn clean integration-test -DskipTests -P integration-test -Dtest=* 

ben oluşturulan junit uyumlu xml dosyalarını işaret bir daha junit ayrıştırıcı görev var. Yani, bir kez bambu inşa çalışır ve tüm testler geçse bile, "Başarısız test bulunamadı, olası bir derleme hatası oluştu" mesajı ile kırmızı yapıyorum.

Lütfen bu konuda bana yardımcı olabilirsiniz.

cevap

14

Oluşturma komut dosyanızın başarılı test raporları üretiyor olabilir, ancak görevlerinizden biri (veya her ikisi, muhtemelen) başarısız oluyor. Bu, testleriniz tamamlandıktan sonra muhtemelen arızanın meydana geldiği anlamına gelir. Hatalar için derleme kayıtlarınızı kontrol edin. Bambu sunucunuza (bambu kullanıcısı olarak) giriş yapmayı ve komutları elle çalıştırmayı deneyebilirsiniz.

Test görevimizin test çalışmasının yarısına düştüğü ve Bambu'nun görmezden geldiği hatalı raporlardan ve bir sürü başarılı rapordan sonuçlandığı zaman bu mesajı geçmişte görmüştüm.

* Testlerinizin gerçekten çalıştığından emin olmak için derleme günlüğünü kontrol edin. Mvn clean, test raporu dizinini temizlemezse, Bamboo eski test raporlarını ayrıştırabilir.


DÜZENLEME: (Kishore olan bağlantıları cevaben)

O Xvfb inşa başarısız olmasına neden budur öldürmek için bir görev gibi görünüyor.

18-Jul-2012 09:50:18 Starting task 'Kill Xvfb' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script' 

18-Jul-2012 09:50:18  
Beginning to execute external process for build 'Functional Tests - Application Release Test - Default Job' 
... running command line: 
/bin/sh 
    /tmp/FUNC-APPTEST-JOB1-91-ScriptBuildTask-4153769009554485085.sh 
... in: /opt/bamboo-home/xml-data/build-dir/FUNC-APPTEST-JOB1 
... using extra environment variables: 

<..snip (no meaningful output)..> 

18-Jul-2012 09:50:18 Failing task since return code was 1 while expected 0 

18-Jul-2012 09:50:18 Finished task 'Kill Xvfb' 

senin "öldür Xvfb" komut dosyası ne yapar? Pkill -f "[x] vfb" gibi bir şey mi deniyorsunuz? pkill -f, ifadeyi herhangi bir işlemle eşleştiremezse, sıfırdan sessiz olarak döner.

+0

Choover, cevap için teşekkürler. Bambu görevlerimden herhangi bir hata göremiyorum.Kesinlikle başvurumdan kaynaklanan bazı yığın izleri var. Lütfen https://ci.openmrs.org/browse/FUNC-APPTEST/latest adresindeki https://ci.openmrs.org/browse/FUNC-APPTEST/popest adresinden bir göz atın ve https://ci.openmrs.org/download/FUNC-APPTEST-JOB1/build_logs/FUNC-APPTEST- giriş yapın. Daha fazla bilgi için JOB1-89.log. –

+0

özür dilerim, yorum kutusundaki günlük çıkışını yayınlamak için yeterli alan yoktu, bu yüzden mesajımı düzenlemeyi tamamladım - yukarıyı görmek istiyorum^ – choover

2

Basit bir düzeltme olduğu ortaya çıktı.

Genel bambu davranışı tüm kütüğü taramak ve herhangi bir hata kodu (1) için bkz. Bu özel konfigürasyon için bunlardan birinin xvfb (frame buffer) 'ı öldürmek için 6 tane betiği vardı. Bazı nedenlerden dolayı sunucu xvfb'yi öldürebilir ve bu görev bir hata kodu döndürüyordu. Bu nedenle, tüm testler geçmesine rağmen, bambu önceki görevlerden bu hata kodlarından birini aldı ve yapılama başarısız oldu.

Geçerli düzeltme, xvfb'yi öldüren ve yapının yeşile düştüğü görevi kaldırmaktır! \O/.

+0

Wow, işte bu, yorumunuza verdiğim cevapta tam olarak yer alıyor. * iç çek * – choover

+0

Serin! biraz zaman ayırdığınız ve günlük çıkışına baktığınız için çok teşekkürler :) –

+0

tam olarak @choover 'ın yorumunuza verdiği yanıtta ne olduğuyla ilgili. tsc tsc tsc Bu cevabı doğru cevap olarak imzalamanız gerekir. – Miere

4

Benim çözümüm bir 'senaryo' görevi yapmaktı: hep statü 0.

Bu PHP kodu algılayıcı çıkış durumunu döndürür 1 sadece 1 ihlali kodlama çünkü birlikte çıkar

#!/bin/bash 
/usr/local/bin/phpcs --report=checkstyle --report-file=build/logs/checkstyle.xml --standard=PSR2 ./lib | exit 0 

(uyarı/error) yerleşik yapının başarısız olmasına neden olan bulunur.

+0

Aynı çözüm, Windows yapı sunucumuzda da benim için çalıştı. Yeni bir hattan ziyade çıkış için bir boru kullanmanız gerekir, aksi halde karma'yı çalıştırdıktan sonra 0 olmaz; –

İlgili konular