Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG-RAN
Commits
70e9b3ef
Commit
70e9b3ef
authored
Jun 29, 2018
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop-ci' into 'develop'
CI: stability improvement See merge request oai/openairinterface5g!337
parents
e63ff571
c3d1aac9
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
57 additions
and
16 deletions
+57
-16
ci-scripts/Jenkinsfile-gitlab
ci-scripts/Jenkinsfile-gitlab
+7
-0
ci-scripts/doGitLabMerge.sh
ci-scripts/doGitLabMerge.sh
+7
-3
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+6
-1
cmake_targets/autotests/run_exec_autotests.bash
cmake_targets/autotests/run_exec_autotests.bash
+13
-7
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+1
-1
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+17
-2
cmake_targets/tools/test_helper
cmake_targets/tools/test_helper
+6
-2
No files found.
ci-scripts/Jenkinsfile-gitlab
View file @
70e9b3ef
...
...
@@ -45,6 +45,12 @@ pipeline {
}
}
}
post {
failure {
def message = "OAI " + JOB_NAME + " build (" + BUILD_ID + "): Merge Conflicts -- Cannot perform CI"
addGitLabMRComment comment: message
}
}
}
stage ("Start VM -- cppcheck") {
...
...
@@ -176,6 +182,7 @@ pipeline {
if(fileExists('archives/vm_tests_logs.zip')) {
archiveArtifacts artifacts: 'archives/vm_tests_logs.zip'
archiveArtifacts artifacts: 'archives/*/test/results_autotests*.xml'
archiveArtifacts artifacts: 'archives/*/test/*.xsl'
}
}
}
...
...
ci-scripts/doGitLabMerge.sh
View file @
70e9b3ef
...
...
@@ -104,6 +104,10 @@ git checkout -f $SOURCE_COMMIT_ID
git merge
--ff
$TARGET_COMMIT_ID
-m
"Temporary merge for CI"
exit
0
STATUS
=
`
git status | egrep
-c
"You have unmerged paths.|fix conflicts"
`
if
[
$STATUS
-ne
0
]
then
echo
"There are merge conflicts.. Cannot perform further build tasks"
STATUS
=
-1
fi
exit
$STATUS
ci-scripts/runTestOnVM.sh
View file @
70e9b3ef
...
...
@@ -231,7 +231,12 @@ else
then
FUNCTION
=
`
echo
$VM_NAME
|
sed
-e
"s@
$VM_TEMPLATE
@@"
`
NEW_NAME
=
`
echo
"results_autotests.xml"
|
sed
-e
"s@results_autotests@results_autotests-
$FUNCTION
@"
`
mv
results_autotests.xml
$NEW_NAME
echo
"<?xml version=
\"
1.0
\"
encoding=
\"
UTF-8
\"
?>"
>
$NEW_NAME
echo
"<?xml-stylesheet type=
\"
text/xsl
\"
href=
\"
$FUNCTION
.xsl
\"
?>"
>>
$NEW_NAME
cat
results_autotests.xml
>>
$NEW_NAME
sed
-e
"s@TEMPLATE@
$FUNCTION
@"
$JENKINS_WKSP
/ci-scripts/template.xsl
>
$FUNCTION
.xsl
#mv results_autotests.xml $NEW_NAME
rm
results_autotests.xml
fi
popd
...
...
cmake_targets/autotests/run_exec_autotests.bash
View file @
70e9b3ef
...
...
@@ -175,10 +175,10 @@ function test_compile() {
fi
if
[
"
$result
"
==
"1"
]
;
then
echo_success
"
$test_case_name
.
${
tags
}
PASSED"
xUnit_success
"compilation"
"
$test_case_name
.
$tags
"
"PASS"
"
$result_string
"
"
$xmlfile_testcase
"
xUnit_success
"compilation"
"
$test_case_name
.
$tags
"
"PASS"
"
$result_string
"
"
$xmlfile_testcase
"
""
else
echo_error
"
$test_case_name
.
${
tags
}
FAILED"
xUnit_fail
"compilation"
"
$test_case_name
.
$tags
"
"FAIL"
"
$result_string
"
"
$xmlfile_testcase
"
xUnit_fail
"compilation"
"
$test_case_name
.
$tags
"
"FAIL"
"
$result_string
"
"
$xmlfile_testcase
"
""
fi
}
...
...
@@ -201,6 +201,7 @@ function test_compile() {
#\param $15 => password for the user to run certain commands as sudo
#\param $16 => test config file params to be modified
#\param $17 => bypass flag if main_exec if available
#\param $18 -> desc to help identify the test case for readability in output xml file
function
test_compile_and_run
()
{
xUnit_start
...
...
@@ -223,6 +224,7 @@ function test_compile_and_run() {
mypassword
=
${
15
}
test_config_file
=
${
16
}
bypass_compile
=
${
17
}
desc
=
${
18
}
build_dir
=
$tdir
/
$1
/build
#exec_file=$build_dir/$6
...
...
@@ -243,6 +245,7 @@ function test_compile_and_run() {
#echo "pre_exec_file = $pre_exec_file"
#echo "nruns = $nruns"
echo
"class =
$class
"
echo
"desc =
$desc
"
#compile_prog_array=()
#read -a compile_prog_array <<<"$compile_prog"
...
...
@@ -253,6 +256,8 @@ function test_compile_and_run() {
tags_array
=()
read
-a
tags_array
<<<
"
$tags
"
desc_array
=()
readarray
-t
desc_array
<<<
"
$desc
"
main_exec_args_array
=()
readarray
-t
main_exec_args_array
<<<
"
$exec_args
"
...
...
@@ -298,6 +303,7 @@ function test_compile_and_run() {
do
global_result
=
1
result_string
=
""
PROPER_DESC
=
`
echo
${
desc_array
[
$tags_array_index
]
}
|
sed
-e
"s@^.*lsim.*est case.*(Test@Test@"
-e
"s@^ *(@@"
-e
"s/),
$/
/"
`
for
((
run_index
=
1
;
run_index <
=
$nruns
;
run_index++
))
do
...
...
@@ -366,16 +372,16 @@ function test_compile_and_run() {
if
[
"
$result_string
"
==
""
]
;
then
echo_error
"execution
$test_case_name
.
$compile_prog
.
${
tags_array
[
$tags_array_index
]
}
Run_Result =
\"
$result_string
\"
Result = FAIL"
xUnit_fail
"execution"
"
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
"
"FAIL"
"
$result_string
"
"
$xmlfile_testcase
"
xUnit_fail
"execution"
"
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
"
"FAIL"
"
$result_string
"
"
$xmlfile_testcase
"
"
$PROPER_DESC
"
else
if
[
"
$global_result
"
==
"0"
]
;
then
echo_error
"execution
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
Run_Result =
\"
$result_string
\"
Result = FAIL"
xUnit_fail
"execution"
"
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
"
"FAIL"
"
$result_string
"
"
$xmlfile_testcase
"
xUnit_fail
"execution"
"
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
"
"FAIL"
"
$result_string
"
"
$xmlfile_testcase
"
"
$PROPER_DESC
"
fi
if
[
"
$global_result
"
==
"1"
]
;
then
echo_success
"execution
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
Run_Result =
\"
$result_string
\"
Result = PASS "
xUnit_success
"execution"
"
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
"
"PASS"
"
$result_string
"
"
$xmlfile_testcase
"
xUnit_success
"execution"
"
$test_case_name
.
${
tags_array
[
$tags_array_index
]
}
"
"PASS"
"
$result_string
"
"
$xmlfile_testcase
"
"
$PROPER_DESC
"
fi
fi
...
...
@@ -573,10 +579,10 @@ for search_expr in "${test_case_array[@]}"
#echo "arg1 = ${search_array_true[0]}"
#echo " arg2 = ${search_array_true[1]}"
if
[
"
$class
"
==
"compilation"
]
;
then
test_compile
"
$name
"
"
$compile_prog
"
"
$compile_prog_args
"
"
$pre_exec
"
"
$pre_exec_args
"
"
$main_exec
"
"
$main_exec_args
"
"search_array_true[@]"
"
$search_expr_false
"
"
$nruns
"
"
$pre_compile_prog
"
"
$class
"
"
$compile_prog_out
"
"
$tags
"
test_compile
"
$name
"
"
$compile_prog
"
"
$compile_prog_args
"
"
$pre_exec
"
"
$pre_exec_args
"
"
$main_exec
"
"
$main_exec_args
"
"search_array_true[@]"
"
$search_expr_false
"
"
$nruns
"
"
$pre_compile_prog
"
"
$class
"
"
$compile_prog_out
"
"
$tags
"
"
$desc
"
elif
[
"
$class
"
==
"execution"
]
;
then
echo
\'
passwd
\'
|
$SUDO
killall
-q
oaisim_nos1
test_compile_and_run
"
$name
"
"
$compile_prog
"
"
$compile_prog_args
"
"
$pre_exec
"
"
$pre_exec_args
"
"
$main_exec
"
"
$main_exec_args
"
"search_array_true[@]"
"
$search_expr_false
"
"
$nruns
"
"
$pre_compile_prog
"
"
$class
"
"
$compile_prog_out
"
"
$tags
"
"
$mypassword
"
"
$test_config_file
"
"
$BYPASS_COMPILE
"
test_compile_and_run
"
$name
"
"
$compile_prog
"
"
$compile_prog_args
"
"
$pre_exec
"
"
$pre_exec_args
"
"
$main_exec
"
"
$main_exec_args
"
"search_array_true[@]"
"
$search_expr_false
"
"
$nruns
"
"
$pre_compile_prog
"
"
$class
"
"
$compile_prog_out
"
"
$tags
"
"
$mypassword
"
"
$test_config_file
"
"
$BYPASS_COMPILE
"
"
$desc
"
else
echo
"Unexpected class of test case...Skipping the test case
$name
...."
fi
...
...
cmake_targets/autotests/test_case_list.xml
View file @
70e9b3ef
...
...
@@ -970,7 +970,7 @@
-m26 -gF -s16.6 -w1.0 -f.2 -n500 -B100 -c2 -z2 -r1899 -O70
-m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70
-m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70
</main_exec_args>
<tags>
dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.
TM2_test1 dlsim.TM2_test1b
</tags>
<tags>
dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.
test11b dlsim.TM2_test1 dlsim.TM2_test1b dlsim.TM2_test1c
</tags>
<search_expr_true>
"passed"
</search_expr_true>
<search_expr_false>
segmentation fault|assertion|exiting|fatal
</search_expr_false>
<nruns>
3
</nruns>
...
...
cmake_targets/tools/build_helper
View file @
70e9b3ef
...
...
@@ -271,8 +271,23 @@ check_install_usrp_uhd_driver(){
$SUDO apt-get remove libuhd-dev libuhd003 uhd-host -y || true
v=$(lsb_release -cs)
$SUDO apt-add-repository --remove "deb http://files.ettus.com/binaries/uhd/repo/uhd/ubuntu/$v $v main"
#The new USRP repository
$SUDO add-apt-repository ppa:ettusresearch/uhd -y
# The new USRP repository
# Raphael Defosseux: Adding a loop on adding PPA because in CI the gpg key retrieve may
# timeout due to proxy / network latencies in Eurecom on VM
echo_info "\nAdding PPA repository ettusresearch/uhd\n"
x=0
while [ $x -le 5 ]
do
if $SUDO add-apt-repository ppa:ettusresearch/uhd -y
then
echo_info "add-apt-repository successful\n"
break
else
echo_info "add-apt-repository failed, retrying...\n"
sleep 30
fi
x=$((x + 1))
done
$SUDO apt-get update
$SUDO apt-get -y --allow-unauthenticated install python python-tk libboost-all-dev libusb-1.0-0-dev
$SUDO apt-get -y --allow-unauthenticated install libuhd-dev libuhd003 uhd-host
...
...
cmake_targets/tools/test_helper
View file @
70e9b3ef
...
...
@@ -26,15 +26,17 @@ xUnit_start() {
# \param $3 testcase result
# \param $4 run result
# \param $5 XML file local to test case for storing its own results
# \param $6 proper description
xUnit_fail() {
class=$1
test_case=$2
result=$3
run_result=$4
xmlfile_testcase=$5
desc=$6
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
xml="<testcase classname='$class' name='$test_case'
description='$desc'
Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
echo -e "$xml" >> "$xmlfile_testcase"
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_FAILED=$((XUNIT_FAILED+1))
...
...
@@ -48,15 +50,17 @@ xUnit_fail() {
# \param $3 testcase result
# \param $4 run result
# \param $5 XML file local to test case for storing its own results
# \param $6 proper description
xUnit_success() {
class=$1
test_case=$2
result=$3
run_result=$4
xmlfile_testcase=$5
desc=$6
currtime=$(date +%s.%N)
time=$(echo "$currtime - $XUNIT_START" | bc -l)
xml="<testcase classname='$class' name='$test_case' Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
xml="<testcase classname='$class' name='$test_case'
description='$desc'
Run_result='$run_result' time='$time s' RESULT='$result'></testcase>"
echo -e $xml >> $xmlfile_testcase
XUNIT_TESTCASES_XML="$XUNIT_TESTCASES_XML \n$xml"
XUNIT_SUCCESS=$((XUNIT_SUCCESS+1))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment