# ============================================================================= # ____ _ _ ____ _ _ # _ __ _ _ / ___| | | | _ \| | __| | ___ _ __ ___ # | '_ \| | | | | _| |_| | | | | | / _` |/ _ \| '_ ` _ \ # | |_) | |_| | |_| | _ | |_| | |___ | (_| | (_) | | | | | | # | .__/ \__, |\____|_| |_|____/|_____(_)__,_|\___/|_| |_| |_| # |_| |___/ # ============================================================================= # Authors: # Unai Martinez-Corral # # Testsuite: Parse files from sanity checks # # License: # ============================================================================ # Copyright (C) 2019-2021 Tristan Gingold # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # SPDX-License-Identifier: GPL-2.0-or-later # ============================================================================ from pathlib import Path from subprocess import check_call, STDOUT from sys import executable as sys_executable from pytest import mark from pyGHDL.dom.NonStandard import Design if __name__ == "__main__": print("ERROR: you called a testcase declaration file as an executable module.") print("Use: 'python -m unitest '") exit(1) _TESTSUITE_ROOT = Path(__file__).parent.parent.parent.resolve() _GHDL_ROOT = _TESTSUITE_ROOT.parent design = Design() @mark.parametrize("file", [str(f.relative_to(_TESTSUITE_ROOT)) for f in _TESTSUITE_ROOT.glob("sanity/**/*.vhdl")]) def test_AllVHDLSources(file): check_call([sys_executable, _GHDL_ROOT / "pyGHDL/cli/DOM.py", file], stderr=STDOUT) # document = Document(Path(file)) # design.Documents.append(document) r
blob: 792f9c52f86af4933d5c5eececdd526d75fe4882 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
__mitmdump__ is the command-line companion to mitmproxy. It provides
tcpdump-like functionality to let you view, record, and programmatically
transform HTTP traffic. See the _--help_ flag output for complete
documentation.



# Examples


## Saving traffic

<pre class="terminal">
> mitmdump -w outfile
</pre>

Start up mitmdump in proxy mode, and write all traffic to __outfile__. 


## Filtering saved traffic

<pre class="terminal">
> mitmdump -nr infile -w outfile "~m post"
</pre>

Start mitmdump without binding to the proxy port (_-n_), read all flows from
infile, apply the specified filter expression (only match POSTs), and write to
outfile.


## Client replay

<pre class="terminal">
> mitmdump -nc outfile
</pre>

Start mitmdump without binding to the proxy port (_-n_), then replay all
requests from outfile (_-c filename_). Flags combine in the obvious way, so
you can replay requests from one file, and write the resulting flows to
another:

<pre class="terminal">
> mitmdump -nc srcfile -w dstfile
</pre>

See the [Client-side Replay](@!urlTo("clientreplay.html")!@) section for more information.


## Running a script

<pre class="terminal">
> mitmdump -s examples/add_header.py
</pre>

This runs the __add_header.py__ example script, which simply adds a new header
to all responses.


## Scripted data transformation

<pre class="terminal">
> mitmdump -ns examples/add_header.py -r srcfile -w dstfile
</pre>

This command loads flows from __srcfile__, transforms it according to the
specified script, then writes it back to __dstfile__.