mirror of https://github.com/Jittor/Jittor
57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
# ***************************************************************
|
|
# Copyright (c) 2020 Jittor. Authors: Dun Liang <randonlang@gmail.com>. All Rights Reserved.
|
|
# This file is subject to the terms and conditions defined in
|
|
# file 'LICENSE.txt', which is part of this source code package.
|
|
# ***************************************************************
|
|
import unittest
|
|
import os
|
|
import re
|
|
import jittor as jt
|
|
from jittor import LOG
|
|
|
|
def find_log_with_re(logs, pattern=None, **args):
|
|
if pattern:
|
|
pattern = re.compile(pattern)
|
|
flogs = []
|
|
for log in logs:
|
|
for arg in args:
|
|
if log[arg] != args[arg]:
|
|
break
|
|
else:
|
|
if pattern:
|
|
res = re.findall(pattern, log["msg"])
|
|
if len(res):
|
|
flogs.append(res[0])
|
|
else:
|
|
flogs.append(log["msg"])
|
|
return flogs
|
|
|
|
class TestLog(unittest.TestCase):
|
|
def test_log_capture(self):
|
|
LOG.log_capture_start()
|
|
with jt.var_scope(log_v=1000, log_vprefix=""):
|
|
LOG.v("1")
|
|
LOG.vv("2")
|
|
LOG.i("3")
|
|
LOG.w("4")
|
|
LOG.e("5")
|
|
a = jt.zeros([10])
|
|
a.sync()
|
|
LOG.log_capture_stop()
|
|
# TODO: why need manually delete this variable?
|
|
del a
|
|
logs = LOG.log_capture_read()
|
|
logs2 = LOG.log_capture_read()
|
|
assert len(logs2)==0
|
|
|
|
for i in range(5):
|
|
assert logs[i]['msg'] == str(i+1)
|
|
assert logs[i]['level'] == 'iiiwe'[i]
|
|
assert logs[i]['name'] == 'test_log.py'
|
|
finished_log = [ l["msg"] for l in logs
|
|
if l["name"]=="executor.cc" and "return vars:" in l["msg"]]
|
|
assert len(finished_log)==1 and "[10,]" in finished_log[0]
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main() |