提交 56c20f82 编写于 作者: Y Yu Yang 提交者: GitHub

Merge pull request #734 from hohdiy/dev-test

test code for issue #729
......@@ -11,10 +11,12 @@ for conf in ${configs[*]}
do
echo "Generating " $conf
python -m paddle.utils.dump_config $conf.py > $protostr/$conf.protostr.unittest
cat ${conf}.py |python test_config_parser_for_non_file_config.py > $protostr/$conf.protostr.non_file_config.unittest
done
for conf in ${whole_configs[*]}
do
echo "Generating " $conf
python -m paddle.utils.dump_config $conf.py "" --whole > $protostr/$conf.protostr.unittest
cat ${conf}.py |python test_config_parser_for_non_file_config.py --whole > $protostr/$conf.protostr.non_file_config.unittest
done
......@@ -17,6 +17,7 @@ if [ -z $1 ]; then
base_protostr=$protostr/$file
new_protostr=$protostr/$file.unittest
diff $base_protostr $new_protostr -u
diff $protostr/$file $protostr/$file.non_file_config.unittest -u
done
else
for file in ${configs[*]}
......@@ -24,6 +25,9 @@ else
if ! $1 $protostr/$file.protostr $protostr/$file.protostr.unittest; then
diff $protostr/$file.protostr $protostr/$file.protostr.unittest -u
fi
if ! $1 $protostr/$file.protostr $protostr/$file.protostr.non_file_config.unittest; then
diff $protostr/$file.protostr $protostr/$file.protostr.non_file_config.unittest -u
fi
done
for file in ${whole_configs[*]}
......@@ -31,5 +35,8 @@ else
if ! $1 $protostr/$file.protostr $protostr/$file.protostr.unittest --whole; then
diff $protostr/$file.protostr $protostr/$file.protostr.unittest -u
fi
if ! $1 $protostr/$file.protostr $protostr/$file.protostr.non_file_config.unittest --whole; then
diff $protostr/$file.protostr $protostr/$file.protostr.non_file_config.unittest -u
fi
done
fi
#!/usr/bin/env python
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import sys
import re
import getopt
def main(print_whole_config, globals, locals):
'''
this test will all test_config.py
'''
cmdstr = """from paddle.trainer.config_parser import parse_config\n"""
importstr = ""
functionstr = ""
for line in sys.stdin:
if re.match("^import", line) or re.match("^from.*import", line):
importstr = importstr + line
else:
functionstr = functionstr + " " + line
cmdstr = cmdstr + importstr + """def configs():\n""" + functionstr
#cmdstr = cmdstr + """def configs():\n""" + importstr + functionstr
if print_whole_config:
cmdstr = cmdstr + """print parse_config(configs, "")"""
else:
cmdstr = cmdstr + """print parse_config(configs, "").model_config"""
exec(cmdstr, globals, locals)
if __name__ == '__main__':
whole = False
opts, args = getopt.getopt(sys.argv[1:], "", ["whole"])
for op, value in opts:
if op == "--whole":
whole = True
main(whole, globals(), locals())
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册