未验证 提交 0905deec 编写于 作者: Z zhangchunle 提交者: GitHub

test=pretest (#33573)

上级 0f7187af
...@@ -1427,7 +1427,6 @@ EOF ...@@ -1427,7 +1427,6 @@ EOF
function insert_pile_to_h_cu_diff { function insert_pile_to_h_cu_diff {
# TODO get develop h/cu md5 # TODO get develop h/cu md5
cd ${PADDLE_ROOT} cd ${PADDLE_ROOT}
find ${PADDLE_ROOT} -name '*.h'| grep -v ${PADDLE_ROOT}/build >> ${PADDLE_ROOT}/tools/h_cu_files.log
find ${PADDLE_ROOT} -name '*.cu'| grep -v ${PADDLE_ROOT}/build >> ${PADDLE_ROOT}/tools/h_cu_files.log find ${PADDLE_ROOT} -name '*.cu'| grep -v ${PADDLE_ROOT}/build >> ${PADDLE_ROOT}/tools/h_cu_files.log
python ${PADDLE_ROOT}/tools/handle_h_cu_file.py 'get_h_file_md5' ${PADDLE_ROOT} python ${PADDLE_ROOT}/tools/handle_h_cu_file.py 'get_h_file_md5' ${PADDLE_ROOT}
...@@ -1447,8 +1446,8 @@ function precise_card_test_single { ...@@ -1447,8 +1446,8 @@ function precise_card_test_single {
cd ${PADDLE_ROOT}/build cd ${PADDLE_ROOT}/build
precise_card_test "^${case}$" $num precise_card_test "^${case}$" $num
# c++ # c++
if [ -d "${PADDLE_ROOT}/build/ut_map/$case" ];then if [ ! -d "${PADDLE_ROOT}/build/ut_map/$case" ];then
rm -rf ${PADDLE_ROOT}/build/ut_map/$case mkdir ${PADDLE_ROOT}/build/ut_map/$case
fi fi
set -x set -x
mkdir ${PADDLE_ROOT}/build/ut_map/$case mkdir ${PADDLE_ROOT}/build/ut_map/$case
...@@ -1460,7 +1459,9 @@ function precise_card_test_single { ...@@ -1460,7 +1459,9 @@ function precise_card_test_single {
ls python-coverage.data.* ls python-coverage.data.*
if [[ $? == 0 ]] if [[ $? == 0 ]]
then then
mkdir -p ${PADDLE_ROOT}/build/pytest/$case if [ ! -d "${PADDLE_ROOT}/build/pytest/$case" ];then
mkdir -p ${PADDLE_ROOT}/build/pytest/$case
fi
mv python-coverage.data.* ${PADDLE_ROOT}/build/pytest/$case mv python-coverage.data.* ${PADDLE_ROOT}/build/pytest/$case
fi fi
find paddle/fluid -name *.gcda | xargs rm -f #delete gcda find paddle/fluid -name *.gcda | xargs rm -f #delete gcda
...@@ -1571,26 +1572,38 @@ set -x ...@@ -1571,26 +1572,38 @@ set -x
precise_card_test_single "$single_card_tests_1" 1 precise_card_test_single "$single_card_tests_1" 1
precise_card_test_single "$multiple_card_tests" 2 precise_card_test_single "$multiple_card_tests" 2
precise_card_test_single "$exclusive_tests" precise_card_test_single "$exclusive_tests"
wait;
python ${PADDLE_ROOT}/tools/get_ut_file_map.py 'get_not_success_ut' ${PADDLE_ROOT} python ${PADDLE_ROOT}/tools/get_ut_file_map.py 'get_not_success_ut' ${PADDLE_ROOT}
if [[ -f "${PADDLE_ROOT}/build/utNotSuccess" ]]; then #analy h/cu to Map file
rerun_tests=`cat ${PADDLE_ROOT}/build/utNotSuccess` python ${PADDLE_ROOT}/tools/handle_h_cu_file.py 'analy_h_cu_file' $tmp_dir ${PADDLE_ROOT}
precise_card_test_single "$rerun_tests"
fi
wait; wait;
get_failedUts_precise_map_file
#generate python coverage and generate python file to tests_map_file #generate python coverage and generate python file to tests_map_file
python ${PADDLE_ROOT}/tools/pyCov_multithreading.py ${PADDLE_ROOT} python ${PADDLE_ROOT}/tools/pyCov_multithreading.py ${PADDLE_ROOT}
wait;
#analy h/cu to Map file
python ${PADDLE_ROOT}/tools/handle_h_cu_file.py 'analy_h_cu_file' $tmp_dir ${PADDLE_ROOT}
#generate ut map #generate ut map
python ${PADDLE_ROOT}/tools/get_ut_file_map.py 'get_ut_map' ${PADDLE_ROOT} python ${PADDLE_ROOT}/tools/get_ut_file_map.py 'get_ut_map' ${PADDLE_ROOT}
wait;
} }
function get_failedUts_precise_map_file {
if [[ -f "${PADDLE_ROOT}/build/utNotSuccess" ]]; then
rerun_tests=`cat ${PADDLE_ROOT}/build/utNotSuccess`
#remove pile to full h/cu file
python ${PADDLE_ROOT}/tools/handle_h_cu_file.py 'remove_pile_from_h_file' ${PADDLE_ROOT}
cd ${PADDLE_ROOT}/build
cmake_base ${PYTHON_ABI:-""}
build ${parallel_number}
pip uninstall -y paddlepaddle-gpu
pip install ${PADDLE_ROOT}/build/python/dist/*whl
precise_card_test_single "$rerun_tests"
wait;
fi
}
function parallel_test_base_xpu() { function parallel_test_base_xpu() {
mkdir -p ${PADDLE_ROOT}/build mkdir -p ${PADDLE_ROOT}/build
......
...@@ -46,16 +46,15 @@ def analysisFNDAFile(rootPath, test): ...@@ -46,16 +46,15 @@ def analysisFNDAFile(rootPath, test):
if 'FNDA:' in message: if 'FNDA:' in message:
message_list = message.split('\n') message_list = message.split('\n')
clazz_filename = message_list[0] clazz_filename = message_list[0]
if not clazz_filename.endswith('.h'): #filter .h's Analysis #if not clazz_filename.endswith('.h'): #filter .h's Analysis
for i in range(1, len(message_list) - 1): for i in range(1, len(message_list) - 1):
fn = message_list[i] fn = message_list[i]
matchObj = re.match( matchObj = re.match(
r'(.*)Maker(.*)|(.*)Touch(.*)Regist(.*)|(.*)Touch(.*)JitKernel(.*)|(.*)converterC2Ev(.*)', r'(.*)Maker(.*)|(.*)Touch(.*)Regist(.*)|(.*)Touch(.*)JitKernel(.*)|(.*)converterC2Ev(.*)',
fn, re.I) fn, re.I)
if matchObj == None: if matchObj == None:
os.system('echo %s >> %s' % os.system('echo %s >> %s' % (clazz_filename, ut_map_file))
(clazz_filename, ut_map_file)) break
break
f.close() f.close()
......
...@@ -139,48 +139,53 @@ def ut_file_map_supplement(rootPath): ...@@ -139,48 +139,53 @@ def ut_file_map_supplement(rootPath):
'cd /pre_test && wget --no-proxy https://paddle-docker-tar.bj.bcebos.com/pre_test/ut_file_map.json --no-check-certificate' 'cd /pre_test && wget --no-proxy https://paddle-docker-tar.bj.bcebos.com/pre_test/ut_file_map.json --no-check-certificate'
) )
ut_file_map_old = "/pre_test/ut_file_map.json" ut_file_map_old = "/pre_test/ut_file_map.json"
ut_file_map_full = {}
with open(ut_file_map_new, 'r') as load_f: with open(ut_file_map_new, 'r') as load_f:
load_dict_new = json.load(load_f) load_dict_new = json.load(load_f)
with open(ut_file_map_old, 'r') as f: with open(ut_file_map_old, 'r') as f:
load_dict_old = json.load(f) load_dict_old = json.load(f)
for filename in load_dict_new: all_uts_paddle = '%s/build/all_uts_paddle' % rootPath
ut_file_map_full[filename] = load_dict_new[filename] with open(all_uts_paddle, 'r') as f:
if filename in load_dict_old: all_uts_paddle_list = []
for ut in load_dict_old[filename]: for ut in f.readlines():
if ut not in ut_file_map_full[filename]: all_uts_paddle_list.append(ut.strip())
ut_file_map_full[filename].append(ut) f.close()
for filename in load_dict_old: for filename in load_dict_old:
if filename not in load_dict_new: if filename not in load_dict_new:
ut_file_map_full[filename] = load_dict_old[filename] if filename.endswith(('.h')):
load_dict_new[filename] = []
else:
load_dict_new[filename] = load_dict_old[filename]
with open("/pre_test/ut_file_map.json", "w") as f: with open("/pre_test/ut_file_map.json", "w") as f:
json.dump(ut_file_map_full, f, indent=4) json.dump(load_dict_new, f, indent=4)
print("ut_file_map_full success!!") print("load_dict_new success!!")
all_uts_paddle = '%s/build/all_uts_paddle' % rootPath
with open(all_uts_paddle, 'r') as f:
all_uts_paddle_list = f.readlines()
f.close()
os.system( os.system(
'cd /pre_test && wget --no-proxy https://paddle-docker-tar.bj.bcebos.com/pre_test/prec_delta --no-check-certificate' 'cd /pre_test && wget --no-proxy https://paddle-docker-tar.bj.bcebos.com/pre_test/prec_delta --no-check-certificate'
) )
prec_delta_old = '/pre_test/prec_delta' prec_delta_old = '/pre_test/prec_delta'
prec_delta_new = "%s/build/prec_delta" % rootPath prec_delta_new = "%s/build/prec_delta" % rootPath
with open(prec_delta_old, 'r') as f: with open(prec_delta_old, 'r') as f:
prec_delta_old_list = f.readlines() prec_delta_old_list = []
for ut in f.readlines():
prec_delta_old_list.append(ut.strip())
f.close() f.close()
with open(prec_delta_new, 'r') as f: with open(prec_delta_new, 'r') as f:
prec_delta_new_list = f.readlines() prec_delta_new_list = []
for ut in f.readlines():
prec_delta_new_list.append(ut.strip())
f.close() f.close()
for ut in prec_delta_old_list: for ut in prec_delta_old_list:
if ut not in prec_delta_new_list and ut not in all_uts_paddle_list: filename = '%s/build/ut_map/%s/coverage.info.tmp' % (rootPath, ut)
prec_delta_new_list.append(ut) if ut in all_uts_paddle_list:
if not os.path.exists(filename) and ut not in prec_delta_new_list:
prec_delta_new_list.append(ut)
prec_delta_file = open("/pre_test/prec_delta", 'w') prec_delta_file = open("/pre_test/prec_delta", 'w')
for ut in prec_delta_new_list: for ut in prec_delta_new_list:
prec_delta_file.write(ut) prec_delta_file.write(ut + '\n')
print("prec_delta_file success!!")
prec_delta_file.close() prec_delta_file.close()
......
...@@ -66,6 +66,19 @@ def insert_pile_to_h_file(rootPath): ...@@ -66,6 +66,19 @@ def insert_pile_to_h_file(rootPath):
os.system('echo "\n#endif" >> %s' % line) os.system('echo "\n#endif" >> %s' % line)
def remove_pile_from_h_file(rootPath):
h_cu_files = '%s/tools/h_cu_files.log' % rootPath
f = open(h_cu_files)
lines = f.readlines()
count = 12
for line in lines:
line = line.strip()
while count > 0:
os.system("sed -i '$d' %s" % line)
count = count - 1
count = 12
def get_h_cu_file(file_path): def get_h_cu_file(file_path):
rootPath = file_path[0] rootPath = file_path[0]
dir_path = file_path[1] dir_path = file_path[1]
...@@ -110,3 +123,6 @@ if __name__ == "__main__": ...@@ -110,3 +123,6 @@ if __name__ == "__main__":
dir_path = sys.argv[2] dir_path = sys.argv[2]
rootPath = sys.argv[3] rootPath = sys.argv[3]
main(rootPath, dir_path) main(rootPath, dir_path)
elif func == 'remove_pile_from_h_file':
rootPath = sys.argv[2]
remove_pile_from_h_file(rootPath)
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
import commands
from xml.etree import ElementTree from xml.etree import ElementTree
import re import re
import time import time
...@@ -51,7 +50,7 @@ def getPyCovResult(params): ...@@ -51,7 +50,7 @@ def getPyCovResult(params):
os.system('cd %s && coverage combine `ls python-coverage.data.*`' % path) os.system('cd %s && coverage combine `ls python-coverage.data.*`' % path)
os.system('cd %s && pwd && coverage xml -i -o python-coverage.xml' % path) os.system('cd %s && pwd && coverage xml -i -o python-coverage.xml' % path)
xml_path = '%s/python-coverage.xml' % path xml_path = '%s/python-coverage.xml' % path
os.system("python %s/tools/analysisPyXml.py %s %s" % os.system("python2.7 %s/tools/analysisPyXml.py %s %s" %
(rootPath, rootPath, ut)) (rootPath, rootPath, ut))
endTime = int(time.time()) endTime = int(time.time())
print('pyCov Time: %s' % (endTime - startTime)) print('pyCov Time: %s' % (endTime - startTime))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册