From 856500fefda9087e4c2518dd21fdd16b52cbd6c1 Mon Sep 17 00:00:00 2001 From: fentie Date: Fri, 10 Mar 2017 22:15:23 -0600 Subject: [PATCH 1/2] adding failing test for Android 5.1+ log format --- test/profile_test.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/profile_test.py b/test/profile_test.py index 0ebb9d4..4f715f6 100644 --- a/test/profile_test.py +++ b/test/profile_test.py @@ -16,7 +16,11 @@ def test_package_name_filter(self): self.assertFalse(profile.include({'message' : 'Start proc com.example.test for activity tw.com.xxxx.android.yyyy/.333Activity: pid=123456 uid=10105 gids={3003}'})) self.assertTrue(profile.include({'pid' : '123456', 'message' : 'foo bar'})) + def test_package_name_filter_android_51(self): + profile = Profile(name = 'package_filt', packages = ['com.example.test']) + self.assertFalse(profile.include({'message' : 'Start proc 26360:com.example.test/u0a208 for activity tw.com.xxxx.android.yyyy/com.example.test.ui.MainActivity'})) + self.assertTrue(profile.include({'pid' : '26360', 'message' : 'foo bar'})) + def test_empty_package_will_still_work(self): profile = Profile(name = 'package_filt') self.assertTrue(profile.include({'message' : 'Start proc com.example.test for activity tw.com.xxxx.android.yyyy/.333Activity: pid=123456 uid=10105 gids={3003}'})) - From 1ea8afe8ff413812831d8b158a705f5397f2a868 Mon Sep 17 00:00:00 2001 From: fentie Date: Fri, 10 Mar 2017 23:18:36 -0600 Subject: [PATCH 2/2] testing both regular and 5.1 log line formats --- logcatcolor/profile.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/logcatcolor/profile.py b/logcatcolor/profile.py index 88ee807..409a975 100644 --- a/logcatcolor/profile.py +++ b/logcatcolor/profile.py @@ -32,12 +32,14 @@ def init_packages(self, packages): self.pid_map = {} self.package_search = {} - + if packages: for package in packages: search_string = 'Start proc ' + package regex = re.compile(search_string + ".*?pid=(\\d+)", re.IGNORECASE|re.DOTALL) - self.package_search[package] = (search_string, regex) + regex51 = re.compile(r'Start proc (\d+):' + package) + + self.package_search[package] = (search_string, regex, regex51) def init_tags(self, tags): self.tags = None @@ -89,6 +91,9 @@ def process_new_pid(self, data): match = self.package_search[package][1].search(string) if match: self.pid_map[package] = match.group(1) + match51 = self.package_search[package][2].search(string) + if match51: + self.pid_map[package] = match51.group(1) def include(self, data): if not data: