提交 03f24d1b 编写于 作者: L lelelelelez

full api;test=develop

上级 77472587
......@@ -32,7 +32,7 @@ def remove_desc_code(srcls, filename):
if filename == 'layers_cn/sums_cn.rst':
srcls.pop(11)
if filename == 'layers_cn/sum_cn.rst':
for i in range(len(srcls)-1, 61, -1):
for i in range(len(srcls) - 1, 61, -1):
srcls.pop(i)
if filename == 'layers_cn/softmax_cn.rst':
srcls.pop(30)
......@@ -88,10 +88,12 @@ def extract_sample_code(srcfile, status_all):
srcc = srcfile.read()
srcfile.seek(0, 0)
srcls = srcfile.readlines()
srcls = remove_desc_code(srcls, filename) # remove description info for samplecode
srcls = remove_desc_code(
srcls, filename) # remove description info for samplecode
status = []
sample_code_begins = find_all(srcc, " code-block:: python")
if len(sample_code_begins) == 0:
print("No Sample Code: %s" % filename)
status.append(-1)
else:
......@@ -107,15 +109,18 @@ def extract_sample_code(srcfile, status_all):
startindent = ""
# remove indent error
if srcls[start + blank_line].find("from") != -1:
startindent += srcls[start + blank_line][:srcls[start + blank_line].find("from")]
startindent += srcls[start + blank_line][:srcls[
start + blank_line].find("from")]
elif srcls[start + blank_line].find("import") != -1:
startindent += srcls[start + blank_line][:srcls[start + blank_line].find("import")]
startindent += srcls[start + blank_line][:srcls[
start + blank_line].find("import")]
else:
startindent += check_indent(srcls[start + blank_line])
content += srcls[start + blank_line][len(startindent):]
for j in range(start + blank_line + 1, len(srcls)):
# planish a blank line
if not srcls[j].startswith(startindent) and srcls[j] != '\n':
if not srcls[j].startswith(startindent) and srcls[
j] != '\n':
break
if srcls[j].find(" code-block:: python") != -1:
break
......@@ -128,19 +133,22 @@ def extract_sample_code(srcfile, status_all):
def run_sample_code(content, filename):
# three status ,-1:no sample code; 1: running error; 0:normal
fname = filename.split("/")[-1].replace("_cn", "").replace(".rst", "") + ".py"
fname = filename.split("/")[-1].replace("_cn", "").replace(".rst",
"") + ".py"
tempf = open("temp/" + fname, 'w')
content = "# -*- coding: utf-8 -*-\n" + content
tempf.write(content)
tempf.close()
cmd = ["python", "temp/" + fname]
subprc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
subprc = subprocess.Popen(
cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
_, error = subprc.communicate()
err = "".join(error.decode(encoding='utf-8'))
if subprc.returncode != 0:
print("\nSample code error found in ", filename, ":\n")
#print("\nSample code error found in ", filename, ":\n")
print("Sample code error found in %s" % filename)
print(err)
status = 1
else:
......@@ -148,6 +156,7 @@ def run_sample_code(content, filename):
os.remove("temp/" + fname)
return status
def test(file):
temp = []
src = open(file, 'r')
......@@ -169,7 +178,6 @@ if os.path.isdir("my_paddle_model"):
if os.path.isdir("my_paddle_vars"):
shutil.rmtree("my_paddle_vars")
if not os.path.isdir("temp"):
os.mkdir("temp")
......@@ -183,10 +191,9 @@ else:
if not os.path.exists(sys.argv[1]):
print("File not found")
sys.exit(1)
res = test(sys.argv[1])
res = test(sys.argv[1])
output.append(res)
status_groups = {-1: [], 0: [], 1: []}
# polishes show format
ci_pass = True
......@@ -207,7 +214,6 @@ for one_file in output:
error_api = status_groups[-1] + status_groups[1]
total_error_number = len(error_api)
print("****************************************************")
print("----------------End of the Check--------------------")
print("****************************************************")
......@@ -217,10 +223,12 @@ if total_error_number > 0:
type_two_number = len(status_groups[1])
if type_one_number > 0:
print("Error type one sample number is:{}".format(type_one_number))
print("Error raised from type one:no sample code.", str(status_groups[-1]))
print("Error raised from type one:no sample code.",
str(status_groups[-1]))
if type_two_number > 0:
print("Error type two sample number is:{}".format(type_two_number))
print("Error raised from type two:running error sample code.", str(status_groups[1]))
print("Error raised from type two:running error sample code.",
str(status_groups[1]))
if not ci_pass:
print("Mistakes found in sample codes.")
exit(1)
......
......@@ -14,21 +14,14 @@ else
pip install -U python/dist/paddlepaddle_gpu-0.0.0-cp27-cp27mu-linux_x86_64.whl
fi
for files in `echo $git_files`;do
grep "code-block" $files
if [ $? -eq 0 ] ;then
echo $files|grep 'doc/fluid/api_cn/.*/.*.rst'
if [ $? -eq 0 ];then
api_file=`echo $files|sed 's#doc/fluid/api_cn/##g'`
cd /FluidDoc/doc/fluid/api_cn/
grep -w "$api_file" /FluidDoc/scripts/api_white_list.txt
if [ $? -ne 0 ];then
python chinese_samplecode_processor.py $api_file
if [ $? -ne 0 ];then
exit 5
fi
fi
fi
fi
done
files=`find $PWD/doc/fluid/api_cn | xargs ls -d | grep 'doc/fluid/api_cn/.*/.*.rst'`
if [ $? -eq 0 ];then
se = $PWD/doc/fluid/api_cn/
api_files=`echo $files|sed 's#'$PWD'/doc/fluid/api_cn/##g'`
cd $PWD/doc/fluid/api_cn/
for api_file in $api_files;do
python chinese_samplecode_processor.py $api_file
done
fi
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册