1*da0073e9SAndroid Build Coastguard Worker# Owner(s): ["module: unknown"] 2*da0073e9SAndroid Build Coastguard Worker 3*da0073e9SAndroid Build Coastguard Workerfrom torch.testing._internal.common_utils import TestCase, run_tests 4*da0073e9SAndroid Build Coastguard Workerimport os 5*da0073e9SAndroid Build Coastguard Workerimport subprocess 6*da0073e9SAndroid Build Coastguard Workerimport sys 7*da0073e9SAndroid Build Coastguard Worker 8*da0073e9SAndroid Build Coastguard Workerclass TestMKLDNNVerbose(TestCase): 9*da0073e9SAndroid Build Coastguard Worker def test_verbose_on(self): 10*da0073e9SAndroid Build Coastguard Worker num = 0 11*da0073e9SAndroid Build Coastguard Worker loc = os.path.dirname(os.path.abspath(__file__)) 12*da0073e9SAndroid Build Coastguard Worker with subprocess.Popen(f'{sys.executable} -u {loc}/mkldnn_verbose.py --verbose-level=1', shell=True, 13*da0073e9SAndroid Build Coastguard Worker stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as p: 14*da0073e9SAndroid Build Coastguard Worker for line in p.stdout.readlines(): 15*da0073e9SAndroid Build Coastguard Worker line = str(line, 'utf-8').strip() 16*da0073e9SAndroid Build Coastguard Worker if line.startswith("onednn_verbose"): 17*da0073e9SAndroid Build Coastguard Worker num = num + 1 18*da0073e9SAndroid Build Coastguard Worker elif line == 'Failed to set MKLDNN into verbose mode. Please consider to disable this verbose scope.': 19*da0073e9SAndroid Build Coastguard Worker return 20*da0073e9SAndroid Build Coastguard Worker self.assertTrue(num > 0, 'oneDNN verbose messages not found.') 21*da0073e9SAndroid Build Coastguard Worker 22*da0073e9SAndroid Build Coastguard Worker def test_verbose_off(self): 23*da0073e9SAndroid Build Coastguard Worker num = 0 24*da0073e9SAndroid Build Coastguard Worker loc = os.path.dirname(os.path.abspath(__file__)) 25*da0073e9SAndroid Build Coastguard Worker with subprocess.Popen(f'{sys.executable} -u {loc}/mkldnn_verbose.py --verbose-level=0', shell=True, 26*da0073e9SAndroid Build Coastguard Worker stdout=subprocess.PIPE, stderr=subprocess.STDOUT) as p: 27*da0073e9SAndroid Build Coastguard Worker for line in p.stdout.readlines(): 28*da0073e9SAndroid Build Coastguard Worker line = str(line, 'utf-8').strip() 29*da0073e9SAndroid Build Coastguard Worker if line.startswith("onednn_verbose"): 30*da0073e9SAndroid Build Coastguard Worker num = num + 1 31*da0073e9SAndroid Build Coastguard Worker self.assertEqual(num, 0, 'unexpected oneDNN verbose messages found.') 32*da0073e9SAndroid Build Coastguard Worker 33*da0073e9SAndroid Build Coastguard Workerif __name__ == '__main__': 34*da0073e9SAndroid Build Coastguard Worker run_tests() 35