diff --git a/.tools/convert-markdown-into-ipynb-and-test.sh b/.tools/convert-markdown-into-ipynb-and-test.sh index a038a2bc1df218d5fb22e0082cd511e991acb125..9d1a589c583e5fae373002f06b1ce15507460b68 100755 --- a/.tools/convert-markdown-into-ipynb-and-test.sh +++ b/.tools/convert-markdown-into-ipynb-and-test.sh @@ -1,6 +1,6 @@ #!/bin/bash command -v go >/dev/null 2>&1 -if [ $? -ne 0 ]; then +if [[ $? -ne 0 ]]; then echo >&2 "Please install go https://golang.org/doc/install#install" exit 1 fi @@ -13,7 +13,7 @@ cd $cur_path/../ #convert md to ipynb for file in */{README,README\.en}.md ; do ~/go/bin/markdown-to-ipynb < $file > ${file%.*}".ipynb" - if [ $? -ne 0 ]; then + if [[ $? -ne 0 ]]; then echo >&2 "markdown-to-ipynb $file error" exit 1 fi @@ -29,7 +29,19 @@ for file in */{README,README\.en}.ipynb ; do cd $(dirname $file) > /dev/null echo "begin test $file" - jupyter nbconvert --to python $(basename $file) --stdout | python + if [[ $(dirname $file) == "08.recommender_system" ]]; then + timeout -s SIGKILL 30 bash -c \ + "jupyter nbconvert --to python $(basename $file) --stdout | \ + sed 's/get_ipython()\.magic(.*'\''matplotlib inline'\'')/\#matplotlib inline/g' | \ + sed '/^# coding: utf-8/a\import matplotlib\nmatplotlib.use('\''Agg'\'')' | python" + else + timeout -s SIGKILL 30 bash -c "jupyter nbconvert --to python $(basename $file) --stdout | python" + fi + + if [[ $? -ne 0 && $? -ne 124 && $? -ne 137 ]]; then + echo >&2 "exec $file error!" + exit 1 + fi popd > /dev/null #break