You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@madlib.apache.org by ri...@apache.org on 2017/05/16 22:40:37 UTC
[3/3] incubator-madlib git commit: Build: Add CDATA block to avoid
invalid xml
Build: Add CDATA block to avoid invalid xml
Closes #133
Project: http://git-wip-us.apache.org/repos/asf/incubator-madlib/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-madlib/commit/ec60b83d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-madlib/tree/ec60b83d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-madlib/diff/ec60b83d
Branch: refs/heads/master
Commit: ec60b83d28569b08c5e1d10be3659b6f91a42f16
Parents: de71bd7
Author: Rahul Iyer <ri...@apache.org>
Authored: Wed May 10 17:22:12 2017 -0700
Committer: Rahul Iyer <ri...@apache.org>
Committed: Tue May 16 15:39:29 2017 -0700
----------------------------------------------------------------------
tool/jenkins/jenkins_build.sh | 19 +++++++++++++------
tool/jenkins/junit_export.py | 19 +++++++++++--------
2 files changed, 24 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-madlib/blob/ec60b83d/tool/jenkins/jenkins_build.sh
----------------------------------------------------------------------
diff --git a/tool/jenkins/jenkins_build.sh b/tool/jenkins/jenkins_build.sh
index d0f5510..1174473 100644
--- a/tool/jenkins/jenkins_build.sh
+++ b/tool/jenkins/jenkins_build.sh
@@ -40,6 +40,7 @@ docker rm madlib
echo "Creating docker container"
# Pull down the base docker images
+echo "docker pull madlib/postgres_9.6:jenkins"
docker pull madlib/postgres_9.6:jenkins
# Launch docker container with volume mounted from workdir
echo "-------------------------------"
@@ -63,17 +64,23 @@ docker exec madlib bash -c 'rm -rf /build; mkdir /build; cd /build; cmake ../inc
echo "---------- Installing and running install-check --------------------"
# Install MADlib and run install check
cat <<EOF
-docker exec madlib /build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres install | tee $workdir/logs/madlib_install.log
+docker exec madlib bash -c '/build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres install' | tee $workdir/logs/madlib_install.log
+EOF
+docker exec madlib bash -c '/build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres install' | tee $workdir/logs/madlib_install.log
-mkdir -p $workdir/tmp
-docker exec madlib /build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres -d $workdir/tmp install-check | tee $workdir/logs/madlib_install_check.log
+cat <<EOF
+docker exec madlib bash -c 'mkdir /tmp'
+docker exec madlib bash -c '/build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres -d /tmp install-check' | tee $workdir/logs/madlib_install_check.log
EOF
-docker exec madlib /build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres install | tee $workdir/logs/madlib_install.log
-docker exec madlib /build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres install-check | tee $workdir/logs/madlib_install_check.log
+
+docker exec madlib bash -c 'mkdir /tmp'
+docker exec madlib bash -c '/build/src/bin/madpack -p postgres -c postgres/postgres@localhost:5432/postgres -d /tmp install-check' | tee $workdir/logs/madlib_install_check.log
echo "--------- Copying packages -----------------"
echo "docker cp madlib:build $workdir"
docker cp madlib:build $workdir
+echo "docker cp madlib:tmp $workdir"
+docker cp madlib:tmp $workdir
echo "-------------------------------"
echo "ls -la"
@@ -87,4 +94,4 @@ echo "-------------------------------"
cat <<EOF
python incubator-madlib/tool/jenkins/junit_export.py $workdir/logs/madlib_install_check.log $workdir/logs/madlib_install_check.xml
EOF
-python incubator-madlib/tool/jenkins/junit_export.py $workdir/logs/madlib_install_check.log $workdir/logs/madlib_install_check.xml
+python incubator-madlib/tool/jenkins/junit_export.py $workdir $workdir/logs/madlib_install_check.log $workdir/logs/madlib_install_check.xml
http://git-wip-us.apache.org/repos/asf/incubator-madlib/blob/ec60b83d/tool/jenkins/junit_export.py
----------------------------------------------------------------------
diff --git a/tool/jenkins/junit_export.py b/tool/jenkins/junit_export.py
index 1836ea4..c7fbd4e 100644
--- a/tool/jenkins/junit_export.py
+++ b/tool/jenkins/junit_export.py
@@ -40,7 +40,7 @@ Example of JUnit output:
TestResult = namedtuple("TestResult", 'name suite status duration message')
-def _test_result_factory(install_check_log):
+def _test_result_factory(workdir, install_check_log):
"""
Args:
@param install_check_log: File name containing results from install-check
@@ -64,7 +64,7 @@ def _test_result_factory(install_check_log):
if failure_m:
log_file = failure_m.group(1)
try:
- message = subprocess.check_output(['tail', '-n 100', log_file],
+ message = subprocess.check_output(['tail', '-n 100', workdir + log_file],
stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
message = e.output
@@ -97,15 +97,17 @@ def _add_test_case(out_log, test_results):
'status="{t.status}" time="{d}">'.
format(t=t, d=duration)]
if t.status == "FAIL":
- output.append('<failure>{0}</failure>'.format(t.message))
+ output.append("""<failure><![CDATA[
+ {0}
+ ]]></failure>""".format(t.message))
output.append('</testcase>')
out_log.write('\n'.join(output))
-def main(install_check_log, test_output_log):
+def main(workdir, install_check_log, test_output_log):
# need number of test results - so have to create the iterable
- all_test_results = [i for i in _test_result_factory(install_check_log)]
+ all_test_results = [i for i in _test_result_factory(workdir, install_check_log)]
with open(test_output_log, 'w') as out_log:
_add_header(out_log, len(all_test_results))
@@ -114,6 +116,7 @@ def main(install_check_log, test_output_log):
if __name__ == "__main__":
- # argv[1] = install check log
- # argv[2] = output file to store xml
- main(sys.argv[1], sys.argv[2])
+ # argv[1] = working director
+ # argv[2] = install check log
+ # argv[3] = output file to store xml
+ main(sys.argv[1], sys.argv[2], sys.argv[3])