2012-07-17 30 views
6

मुझे बांस में कुछ jbehave (स्वचालित) परीक्षण चलाने के लिए माना जाता है। एक बार परीक्षण चलने के बाद मैं कुछ जूनिट संगत एक्सएमएल फाइलें उत्पन्न करूंगा ताकि बांस इसे समझ सके। सभी जेबहेव परीक्षण एक स्क्रिप्ट के हिस्से के रूप में चलाए जाते हैं, क्योंकि मुझे एक अलग डिस्प्ले स्क्रीन में जेबेहेव परीक्षण चलाने की आवश्यकता है (याद रखें ये स्वचालित ब्राउज़र परीक्षण हैं)। उदाहरण स्क्रिप्ट निम्नानुसार है।सभी परीक्षण पास हुए, लेकिन बांस का निर्माण एक बयान के साथ विफल रहता है "कोई असफल परीक्षण नहीं मिला, एक संभावित संकलन त्रुटि हुई।"

पूर्व:

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

मैं एक और JUnit पार्सर कार्य जो उत्पन्न JUnit संगत एक्सएमएल फ़ाइलें के लिए अंक की है। इसलिए, एक बार जब बांस का निर्माण होता है और यहां तक ​​कि यदि सभी परीक्षण पास होते हैं, तो मुझे संदेश के साथ लाल निर्माण मिलता है "कोई असफल परीक्षण नहीं मिला, संभावित संकलन त्रुटि हुई।"

क्या कोई इस संबंध में मेरी सहायता कर सकता है।

उत्तर

14

आपकी बिल्ड स्क्रिप्ट सफल परीक्षण रिपोर्ट तैयार कर सकती है, लेकिन आपके कार्यों में से एक (या दोनों संभवतः) विफल हो रहा है। इसका मतलब है कि विफलता शायद आपके परीक्षणों के पूरा होने के बाद हो रही है। त्रुटियों के लिए अपने निर्माण लॉग की जांच करें। आप अपने बांस सर्वर (बांस उपयोगकर्ता के रूप में) में लॉग इन करने और हाथों से आदेश चलाने का भी प्रयास कर सकते हैं।

मैंने इस संदेश को अतीत में देखा है जब हमारा परीक्षण कार्य परीक्षण चलाने के माध्यम से आधा रास्ते दुर्घटनाग्रस्त हो रहा था, जिसके परिणामस्वरूप बांस को अनदेखा किया गया और सफल रिपोर्टों का एक गुच्छा हुआ।

* यह सुनिश्चित करने के लिए बिल्ड लॉग जांचें कि आपके परीक्षण वास्तव में चल रहे हैं। यदि एमवीएन साफ ​​परीक्षण रिपोर्ट निर्देशिका को साफ़ नहीं करता है, तो बांस सिर्फ स्टाइल टेस्ट रिपोर्टों को पार्स कर सकता है।


संपादित करें: (किशोर की लिंक के जवाब में)

यह अपने कार्य की तरह मारने के लिए Xvfb क्या निर्माण विफल कर रही है है लग रहा है।

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' 

आपकी "किल एक्सवीएफबी" स्क्रिप्ट क्या करती है? क्या आप कुछ ऐसा कर रहे हैं जैसे pkill -f "[x] vfb"? pkill -f चुपचाप गैर-शून्य देता है अगर यह किसी भी प्रक्रिया में अभिव्यक्ति से मेल नहीं खाता है।

+0

चूंकि, उत्तर के लिए धन्यवाद। मुझे अपने किसी भी बांस कार्यों से कोई भी संभावित त्रुटियां नहीं दिखाई देती हैं।निश्चित रूप से कुछ स्टैक निशान हैं जो मेरे आवेदन के कारण होते हैं। कृपया https://ci.openmrs.org/browse/FUNC-APPTEST/latest पर जाएं और https://ci.openmrs.org/download/FUNC-APPTEST-JOB1/build_logs/FUNC-APPTEST- अधिक जानकारी के लिए JOB1-89.log। –

+0

क्षमा करें, लॉग आउटपुट पोस्ट करने के लिए टिप्पणी बॉक्स में पर्याप्त स्थान नहीं था, इसलिए मैंने अपनी पोस्ट को संपादित करना समाप्त कर दिया - ऊपर देखें^ – choover

2

एक साधारण फिक्स बन जाता है।

सामान्य बांस व्यवहार पूरे लॉग को स्कैन करना और किसी भी विफलता कोड (1) के लिए देखना है। इस विशिष्ट विन्यास के लिए मेरे पास कुछ 6 स्क्रिप्ट थीं जिनमें से एक xvfb (फ्रेम बफर) को मारना था। किसी कारण से सर्वर xvfb को मारने में सक्षम नहीं है और वह कार्य विफलता कोड लौटा रहा था। इस वजह से, हालांकि सभी परीक्षण पास हुए, बांस को पिछले कार्यों से इस त्रुटि कोड में से एक मिला और निर्माण विफल रहा।

वर्तमान फ़िक्स xvfb को मारने वाले कार्य को हटाना है और बिल्ड हरा हो गया है! \ O /।

+0

वाह, यह वही है जो मैंने आपकी टिप्पणी के जवाब में दिया है। * श्वास * – choover

+0

कूल! कुछ समय निकालने और लॉग आउटपुट के लिए देखने के लिए बहुत बहुत धन्यवाद :) –

+0

जो कि आपकी टिप्पणी के जवाब में @choover ने वास्तव में क्या किया था। tsc tsc tsc आप उस प्रतिक्रिया को सही उत्तर के रूप में हस्ताक्षर करेंगे। – Miere

4

मेरे समाधान एक 'स्क्रिप्ट' काम करने के लिए किया गया था:

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

कौन सा हमेशा स्थिति 0.

इसका कारण यह है PHP कोड स्निफर वापसी से बाहर निकलें स्थिति 1 जब केवल 1 कोडिंग है उल्लंघन के साथ बाहर निकल जाता है (चेतावनी/त्रुटि) पाया जाता है जो निर्मित विफल होने का कारण बनता है।

+0

वही समाधान हमारे विंडोज़ बिल्ड सर्वर पर भी मेरे लिए काम करता था। एक नई लाइन के बजाय बाहर निकलने के लिए एक पाइप का उपयोग करना चाहिए, अन्यथा 0 से बाहर निकलें नहीं - हमेशा कर्म चलाने के बाद बुलाया जाएगा! –