MCPcopy Create free account
hub / github.com/secdev/scapy / parse_campaign_file

Function parse_campaign_file

scapy/tools/UTscapy.py:359–398  ·  view source on GitHub ↗
(campaign_file)

Source from the content-addressed store, hash-verified

357
358
359def parse_campaign_file(campaign_file):
360 test_campaign = TestCampaign("Test campaign")
361 test_campaign.filename = campaign_file.name
362 testset = None
363 test = None
364 testnb = 0
365
366 for line in campaign_file.readlines():
367 if line[0] == '#':
368 continue
369 if line[0] == "~":
370 (test or testset or test_campaign).add_keywords(line[1:].split())
371 elif line[0] == "%":
372 test_campaign.title = line[1:].strip()
373 elif line[0] == "+":
374 testset = TestSet(line[1:].strip())
375 test_campaign.add_testset(testset)
376 test = None
377 elif line[0] == "=":
378 test = UnitTest(line[1:].strip())
379 test.num = testnb
380 testnb += 1
381 if testset is None:
382 error_m = "Please create a test set (i.e. '+' section)."
383 raise getopt.GetoptError(error_m)
384 testset.add_test(test)
385 elif line[0] == "*":
386 if test is not None:
387 test.comments += line[1:]
388 elif testset is not None:
389 testset.comments += line[1:]
390 else:
391 test_campaign.headcomments += line[1:]
392 else:
393 if test is None:
394 if line.strip():
395 raise ValueError("Unknown content [%s]" % line.strip())
396 else:
397 test.test += line
398 return test_campaign
399
400
401def dump_campaign(test_campaign):

Callers 1

execute_campaignFunction · 0.85

Calls 6

add_testsetMethod · 0.95
add_testMethod · 0.95
TestCampaignClass · 0.85
TestSetClass · 0.85
UnitTestClass · 0.85
add_keywordsMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…