summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Jones <jonesmi@google.com>2013-11-15 13:34:02 -0800
committerMichael Jones <jonesmi@google.com>2013-11-15 13:34:02 -0800
commit8e6baabe8974710db1401368a16a4140a532319f (patch)
treea942a4e07a8d1d16a7e8b8bfa85b58985abe8285
parent5dae7e1b8a4830798a052fd981abbd58e8483069 (diff)
downloadloganalysis-8e6baabe8974710db1401368a16a4140a532319f.tar.gz
added unit test for selinux parsing in KernelLogParser
Change-Id: I822d4bc8e5ea26e8deaca79b7052f9e9fbece1de
-rw-r--r--tests/src/com/android/loganalysis/parser/KernelLogParserTest.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/src/com/android/loganalysis/parser/KernelLogParserTest.java b/tests/src/com/android/loganalysis/parser/KernelLogParserTest.java
index 514b5d8..5c8af03 100644
--- a/tests/src/com/android/loganalysis/parser/KernelLogParserTest.java
+++ b/tests/src/com/android/loganalysis/parser/KernelLogParserTest.java
@@ -155,4 +155,31 @@ public class KernelLogParserTest extends TestCase {
KernelLogParser.KERNEL_RESET, patternUtil.checkMessage(pattern));
}
}
+
+ /**
+ * Test that an SELinux Denial can be parsed out of a list of log lines.
+ */
+ public void testSelinuxDenialParse() {
+ final String SELINUX_DENIAL_STACK = "type=1400 audit(1384544483.730:10): avc: denied " +
+ "{ getattr } for pid=797 comm=\"Binder_5\" path=\"/dev/pts/1\" + " +
+ "dev=devpts ino=4 scontext=u:r:system_server:s0 " +
+ "tcontext=u:object_r:devpts:s0 tclass=chr_file";
+ List<String> lines = Arrays.asList(
+ "<4>[ 0.000000] Memory policy: ECC disabled, Data cache writealloc",
+ "<7>[ 7.896355] SELinux: initialized (dev cgroup, type cgroup)" +
+ ", uses genfs_contexts",
+ "<5>[ 43.399164] " + SELINUX_DENIAL_STACK);
+ KernelLogItem kernelLog = new KernelLogParser().parse(lines);
+
+ assertNotNull(kernelLog);
+ assertEquals(0.0, kernelLog.getStartTime(), 0.0000005);
+ assertEquals(43.399164, kernelLog.getStopTime(), 0.0000005);
+ assertEquals(1, kernelLog.getEvents().size());
+ assertEquals(1, kernelLog.getMiscEvents(KernelLogParser.SELINUX_DENIAL).size());
+
+ MiscKernelLogItem item = kernelLog.getMiscEvents(KernelLogParser.SELINUX_DENIAL).get(0);
+ assertEquals(43.399164, item.getEventTime(), 0.0000005);
+ assertEquals(KernelLogParser.SELINUX_DENIAL, item.getCategory());
+ assertEquals(SELINUX_DENIAL_STACK, item.getStack());
+ }
}