wireshark/test
John Thacker 563307ff6b dumpcap: Don't write fake IDBs for pcapng interfaces
When we have multiple capture sources, for each one that is a pcapng
source and supplies its own IDBs, don't create a fake IDB with invalid
linktype WTAP_ENCAP_UNKNOWN and write it to the output file.

Instead, use the IDBs from the source, remapping them as necessary.
For non-pcapng sources, store the output IDB interface ID and write
EPBs using that, since now the input interface ID and the output
interface ID are not necessarily the same, if some of the other
sources are not pcapng.

Update the capture tests that use multiple FIFO sources, because now we
don't add two extra IDBs, one for each FIFO. Instead there are
3 * 11 == 33 total IDBs.

This prevents some various incompatibilites in Wireshark and other
tools when a file has interfaces of more than one link type, and also
has IDBs with an illegal WTAP_ENCAP_UNKNOWN link type.

Fix #19080
2023-05-18 23:42:34 +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 epan: Show our ftype integer sizes in bits 2023-05-08 21:11:25 +00:00
suite_dissectors Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
README.test Qt: Add a packet diagram view. 2020-08-10 18:17:50 +00:00
conftest.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
fixtures.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
fixtures_ws.py Tests+MSVC: Fix capture test suite using Npcap 1.75 2023-05-12 20:55:35 +00:00
hosts.custom
hosts.global
hosts.personal
matchers.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +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: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_capture.py dumpcap: Don't write fake IDBs for pcapng interfaces 2023-05-18 23:42:34 +00:00
suite_clopts.py Test: Fix a test on macOS 2023-05-13 14:49:10 +01:00
suite_decryption.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_dissection.py HTTP/GRPC-Web: support dissecting chunked data in streaming reassembly mode 2023-04-17 16:10:08 +00:00
suite_extcaps.py extcap: new interface, wifidump, to capture Wi-Fi frames using a remote SSH host 2022-03-09 08:01:39 +00:00
suite_external.py Test: Add external tests. 2021-10-01 23:40:17 +00:00
suite_fileformats.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_follow.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
suite_follow_dccp.py tests: fix the test case running warning. 2021-11-18 07:55:22 +00:00
suite_follow_multistream.py test: Skip Follow HTTP2 test without Nghttp2 2022-12-06 07:21:58 -05:00
suite_io.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_mergecap.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_nameres.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
suite_netperfmeter.py Using col_append_sep_fstr() instead of prepending "NetPerfMeter" label. 2021-06-28 14:39:04 +00:00
suite_outputformats.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
suite_release.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
suite_sharkd.py Sharkd: return json error for bad download tokens 2023-04-12 21:42:02 +00:00
suite_text2pcap.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_unittests.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00:00
suite_wslua.py Tests: Require pytest support and remove compatibility layer 2023-05-10 18:53:31 +00: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

README.test

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