|
21 | 21 | [--test-name=some_random_name]
|
22 | 22 | [--debug]
|
23 | 23 | [--debugger=mod.class:a,b,ka=va,kb=vb]
|
24 |
| - <model> [<actor>] |
| 24 | + <model/actor>... |
25 | 25 | graphwalker -h|--help
|
26 | 26 |
|
27 |
| -Model is normally a graph file |
| 27 | +Model is the graph file |
28 | 28 |
|
29 |
| -Actor is the code module or class |
| 29 | +Actor is the code module or class. |
| 30 | + The default is 'graphwalker.dummy.Mute', which does nothing. |
30 | 31 |
|
31 | 32 | Built-in stopconds, defaults:
|
32 | 33 | Never
|
|
60 | 61 | graphwalker \\
|
61 | 62 | --reporter=Print:output=stderr --reporter=Log \\
|
62 | 63 | --planner=Goto:wake,happy,sad --planner=Interactive \\
|
63 |
| - --stop=Coverage:edges=100 |
| 64 | + --stop=Coverage:edges=100 \\ |
64 | 65 | model.dot fleb.Fleb
|
65 | 66 | """
|
66 | 67 |
|
67 | 68 |
|
68 | 69 | def run(args):
|
69 | 70 | sys.path.append('')
|
| 71 | + modact = args['<model/actor>'] |
| 72 | + assert len(modact) > 1 |
70 | 73 |
|
71 | 74 | reporter = reporting.build(args.get('--reporter') or [])
|
72 | 75 | suite_name = args.get('--suite-name') or 'graphwalker'
|
73 | 76 |
|
74 | 77 | test_name = args.get('--test-name') or (
|
75 |
| - args['<model>'].rsplit('/', 1)[-1].split('.')[0] + '-' + |
| 78 | + modact[0].rsplit('/', 1)[-1].split('.')[0] + '-' + |
76 | 79 | time.strftime('%Y%m%d%H%M%S'))
|
77 | 80 |
|
78 | 81 | reporter.start_suite(suite_name)
|
79 | 82 |
|
80 | 83 | plan = planning.build(args.get('--planner') or ['Random'])
|
81 | 84 | stop = stopcond.build(args.get('--stopcond') or 'Coverage')
|
82 | 85 |
|
83 |
| - model = graph.Graph.read(args['<model>']) |
| 86 | + model = graph.Graph.read(modact[0]) |
| 87 | + for n in modact[1:-1]: |
| 88 | + model = model.combine(graph.Graph.read(n)) |
84 | 89 |
|
85 |
| - actor = args.get('<actor>') or 'graphwalker.dummy.Mute' |
| 90 | + try: |
| 91 | + model = model.combine(graph.Graph.read(modact[-1])) |
| 92 | + actor = 'graphwalker.dummy.Mute' |
| 93 | + except: |
| 94 | + actor = modact[-1] |
86 | 95 |
|
87 | 96 | debugger = args.get('--debug') and args.get('--debugger')
|
88 | 97 |
|
|
0 commit comments