self.runProcess((config.cmd_tshark, '-G', 'plugins'), env=config.baseEnv())
self.assertGreaterEqual(self.countOutput('dissector'), 10, 'Fewer than 10 dissector plugins found')
+class case_tshark_z_expert(subprocesstest.SubprocessTestCase):
+ def test_tshark_z_expert_all(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert',
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')))
+ self.assertTrue(self.grepOutput('Errors'))
+ self.assertTrue(self.grepOutput('Warns'))
+ self.assertTrue(self.grepOutput('Chats'))
+
+ def test_tshark_z_expert_error(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,error',
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')))
+ self.assertTrue(self.grepOutput('Errors'))
+ self.assertFalse(self.grepOutput('Warns'))
+ self.assertFalse(self.grepOutput('Chats'))
+
+ def test_tshark_z_expert_warn(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,warn',
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')))
+ self.assertTrue(self.grepOutput('Errors'))
+ self.assertTrue(self.grepOutput('Warns'))
+ self.assertFalse(self.grepOutput('Chats'))
+
+ def test_tshark_z_expert_note(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,note',
+ '-r', os.path.join(config.capture_dir, 'http2-data-reassembly.pcap')))
+ self.assertTrue(self.grepOutput('Warns'))
+ self.assertTrue(self.grepOutput('Notes'))
+ self.assertFalse(self.grepOutput('Chats'))
+
+ def test_tshark_z_expert_chat(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,chat',
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')))
+ self.assertTrue(self.grepOutput('Errors'))
+ self.assertTrue(self.grepOutput('Warns'))
+ self.assertTrue(self.grepOutput('Chats'))
+
+ def test_tshark_z_expert_comment(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,comment',
+ '-r', os.path.join(config.capture_dir, 'sip.pcapng')))
+ self.assertTrue(self.grepOutput('Notes'))
+ self.assertTrue(self.grepOutput('Comments'))
+
+ def test_tshark_z_expert_invalid_filter(self):
+ invalid_filter = '__invalid_protocol'
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,' + invalid_filter,
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')),
+ expected_return=self.exit_command_line)
+ self.assertTrue(self.grepOutput('Filter "' + invalid_filter + '" is invalid'))
+
+ def test_tshark_z_expert_error_invalid_filter(self):
+ invalid_filter = '__invalid_protocol'
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,error,' + invalid_filter,
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')),
+ expected_return=self.exit_command_line)
+ self.assertTrue(self.grepOutput('Filter "' + invalid_filter + '" is invalid'))
+
+ def test_tshark_z_expert_filter(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,udp', #udp is a filter
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')))
+ self.assertFalse(self.grepOutput('Errors'))
+ self.assertFalse(self.grepOutput('Warns'))
+ self.assertFalse(self.grepOutput('Chats'))
+
+ def test_tshark_z_expert_error_filter(self):
+ self.assertRun((config.cmd_tshark, '-q', '-z', 'expert,error,udp', #udp is a filter
+ '-r', os.path.join(config.capture_dir, 'http-ooo.pcap')))
+ self.assertFalse(self.grepOutput('Errors'))
+ self.assertFalse(self.grepOutput('Warns'))
+ self.assertFalse(self.grepOutput('Chats'))
# Purposefully fail a test. Used for testing the test framework.
# class case_fail_on_purpose(subprocesstest.SubprocessTestCase):
/* Tap data */
typedef enum severity_level_t {
- chat_level = 0,
+ comment_level = 0,
+ chat_level,
note_level,
warn_level,
error_level,
/* This variable stores the lowest level that will be displayed.
May be changed from the command line */
-static severity_level_t lowest_report_level = chat_level;
+static severity_level_t lowest_report_level = comment_level;
typedef struct expert_entry
{
guint n;
switch (ei->severity) {
+ case PI_COMMENT:
+ severity_level = comment_level;
+ break;
case PI_CHAT:
severity_level = chat_level;
break;
draw_items_for_severity(hs->ei_array[warn_level], "Warns");
draw_items_for_severity(hs->ei_array[note_level], "Notes");
draw_items_for_severity(hs->ei_array[chat_level], "Chats");
+ draw_items_for_severity(hs->ei_array[comment_level], "Comments");
}
static void
} else if (g_ascii_strncasecmp(args, ",chat", 5) == 0) {
lowest_report_level = chat_level;
args += 5;
+ } else if (g_ascii_strncasecmp(args, ",comment", 8) == 0) {
+ lowest_report_level = comment_level;
+ args += 8;
}
}