wireshark/test
João Valverde ea76d7f290 Tests: Fix pytest output mangling on Windows
Pytest on Windows cannot capture the subprocess output to
stdout and stderr. Wireshark warnings and other incidental
output is printed to the console and that will be interleaved
with pytest output, producing garbled output.

We add some wrappers for subprocess.run() and set default options
to capture output by the parent. Hopefully this will solve that issue
without creating other usability problems.
2023-06-07 15:57:07 +00:00
..
baseline tshark: fix duplicate fields issue in ek output. 2022-12-15 12:22:30 +00:00
captures HTTP/GRPC-Web: support dissecting chunked data in streaming reassembly mode 2023-04-17 16:10:08 +00:00
config dot11decrypt: Add partial FT-EAP decryption support 2021-01-20 16:10:12 +00:00
keys Add support for RSA decryption using PKCS #11 tokens 2018-12-29 10:40:16 +00:00
lua WSLUA: allow 64 bits bitmask for ProtoField objects 2023-01-04 14:32:23 +00:00
protobuf_lang_files GRPC: Add support for gRPC-Web 2022-03-01 10:19:47 +00:00
suite_dfilter Tests: Remove remaining legacy unittest code 2023-06-05 20:56:20 +00:00
suite_dissectors Tests: Remove remaining legacy unittest code 2023-06-05 20:56:20 +00:00
conftest.py Tests: Fix --enable-release option 2023-06-05 18:26:34 +01:00
fixtures_ws.py Tests: Remove remaining legacy unittest code 2023-06-05 20:56:20 +00:00
hosts.custom
hosts.global
hosts.personal
matchers.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
README.test Qt: Add a packet diagram view. 2020-08-10 18:17:50 +00:00
sampleif.py test: fix sampleif.py on weird systems using Python 3.6 and older 2019-04-16 03:28:43 +00:00
subprocesstest.py Tests: Fix pytest output mangling on Windows 2023-06-07 15:57:07 +00:00
suite_capture.py Tests: Fix pytest output mangling on Windows 2023-06-07 15:57:07 +00:00
suite_clopts.py Tests: Fix pytest output mangling on Windows 2023-06-07 15:57:07 +00:00
suite_decryption.py Tests: Remove unittest dependency (decryption) 2023-06-05 18:27:24 +01:00
suite_dissection.py Tests: Remove unittest dependency (dissection) 2023-06-05 20:56:20 +00:00
suite_extcaps.py Tests: Remove unittest depenency (extcaps) 2023-06-05 18:26:34 +01:00
suite_fileformats.py Tests: Remove unittest dependency (fileformats) 2023-06-05 18:26:34 +01:00
suite_follow.py Tests: Remove unittest dependency (follow) 2023-06-05 18:26:34 +01:00
suite_follow_dccp.py Tests: Remove unittest dependency (follow_dccp) 2023-06-05 18:27:24 +01:00
suite_follow_multistream.py Tests: Remove unittest dependency (follow_multistream) 2023-06-05 18:26:34 +01:00
suite_io.py Tests: Remove unittest dependency (io) 2023-06-05 18:27:24 +01:00
suite_mergecap.py Tests: Remove unittest dependency (mergecap) 2023-06-05 18:26:34 +01:00
suite_nameres.py Tests: Remove unittest dependency (nameres) 2023-06-05 18:26:34 +01:00
suite_outputformats.py Tests: Remove unittest dependency (outputformats) 2023-06-05 18:26:34 +01:00
suite_release.py Tests: Remove unitttest dependency (release) 2023-06-05 18:26:34 +01:00
suite_sharkd.py Tests: Remove unittest dependency (sharkd) 2023-06-05 18:27:24 +01:00
suite_text2pcap.py Tests: Remove unittest dependency (text2pcap) 2023-06-05 18:27:24 +01:00
suite_unittests.py Tests: Remove unittest dependency (unittests) 2023-06-05 18:27:24 +01:00
suite_wslua.py Tests: Remove unittest dependency (wslua) 2023-06-05 18:26:34 +01:00
travis-upload-artifacts.sh test,travis: dump a screenshot for hanging GUI tests 2019-01-24 00:26:22 +00:00
util_dump_dhcp_pcap.py Dumpcap+Qt: Add support for -a packets:NUM and -b packets:NUM. 2018-11-09 05:55:11 +00:00

Wireshark Tests

The recommended steps to prepare for and to run tests:

* Install two Python packages, pytest: `pip install pytest pytest-xdist`
* Build programs (“wireshark”, “tshark”, etc.): `ninja`
* Build additional programs for the “unittests” suite: `ninja test-programs`
* Run tests in the build directory: `pytest`

Replace `ninja test-programs` by `make test-programs` as needed.

See the “Wireshark Tests” chapter of the Developer's Guide for details:
https://www.wireshark.org/docs/wsdg_html_chunked/ChapterTests.html

If you need to update the baseline files use the following commands (on a Linux system)
mkdir ~/.config/wireshark/profiles/ctest
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T ek -r test/captures/dhcp.pcap > test/baseline/dhcp.ek
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T json -r test/captures/dhcp.pcap > test/baseline/dhcp.json
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T jsonraw -r test/captures/dhcp.pcap > test/baseline/dhcp.jsonraw
TZ=UTC WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 build/run/tshark -C ctest -T ek -r test/captures/dhcp.pcap -x > test/baseline/dhcp-raw.ek