wireshark/test
João Valverde 4365250098 dfilter: Add back unparsed syntax type
Unparsed tokens are tokens that can either be fields
or literal values like byte arrays or something weirder.

Some cases are troublesome, like two letter tokens
being a protocol name or a byte (fc is Fiber Channel or 0xFC),
or hypothetically aa.bb.cc being a byte array
{ 0xaa, 0xbb, 0xcc} or the "bb.cc" field of the "aa"
protocol. Etc.

This semantic difference obviously matters when parsing
an expression and providing helpful error messages to users.

I have now made several attempts at resolving unparsed tokens
into field/not field at the lexical level and still provide
good error messages and there are always limitations
and weird corner cases. Assigning a semantic type to
such ambiguous tokens requires more context. Originally this
was implemented by checking for registered field values
in the scanner but that is one of the possible solutions that
does not produce good results in practice IMO.

Accept that we will never fully fix this without backward
incompatible grammar changes and commit to resolving unparsed
types during the semantic check phase and maybe having a convoluted
lemon grammar with lots of ugly UNPARSED special cases.
2023-11-09 22:19:03 +00:00
..
baseline Revert changes to JSON boolean format 2023-09-27 01:05:10 +00:00
captures sharkd: Fix displayed delta times in "frames" method 2023-11-07 20:35:24 +00:00
config dot11decrypt: Add partial FT-EAP decryption support 2021-01-20 16:10:12 +00:00
keys TLS: Fix TLS tunneled within TLS 2023-06-12 17:09:09 +00:00
lua Update Pinfo.port_type tests now that it's writeable 2023-10-24 18:05:02 +00:00
protobuf_lang_files GRPC: Add support for gRPC-Web 2022-03-01 10:19:47 +00:00
suite_dfilter dfilter: Add back unparsed syntax type 2023-11-09 22:19:03 +00:00
suite_dissectors asterix: subitem name change in testcase 2023-06-25 15:52:53 +00:00
README.test Qt: Add a packet diagram view. 2020-08-10 18:17:50 +00:00
conftest.py Tests: Fix default option argument 2023-09-24 12:37:42 +00:00
fixtures_ws.py dfilter: Add a function-like macro syntax 2023-11-08 15:48:00 +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 Test and handle spaces in our build directory 2023-09-26 06:54:46 +00:00
suite_capture.py Test and handle spaces in our build directory 2023-09-26 06:54:46 +00:00
suite_clopts.py tshark: Support --read-file and filter long opts 2023-10-14 14:02:04 +00:00
suite_decryption.py tshark: Escape delimiter separated value in compliant ways 2023-11-09 09:17:03 +00:00
suite_dissection.py HTTP2: Modified to use common streaming reassembly helper function 2023-07-25 20:51:53 +00:00
suite_extcaps.py Tests: Remove unittest depenency (extcaps) 2023-06-05 18:26:34 +01:00
suite_fileformats.py Test and handle spaces in our build directory 2023-09-26 06:54:46 +00:00
suite_follow.py Tests: Add tests for follow websocket stream 2023-09-11 01:02:07 +00:00
suite_follow_dccp.py Tests: Remove unittest dependency (follow_dccp) 2023-06-05 18:27:24 +01:00
suite_follow_multistream.py http2: Human readable follow HTTP/2 headers 2023-06-14 00:59:15 +00: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 addr_resolv: Remove confusing "only use profile hosts" preference 2023-11-01 14:57:25 +00:00
suite_outputformats.py Tests: Remove unittest dependency (outputformats) 2023-06-05 18:26:34 +01:00
suite_release.py GitLab CI+Tests: Add a --disable-gui option 2023-09-09 18:42:04 -07:00
suite_sharkd.py sharkd: Fix displayed delta times in "frames" method 2023-11-07 20:35:24 +00:00
suite_text2pcap.py Test and handle spaces in our build directory 2023-09-26 06:54:46 +00:00
suite_unittests.py Tests: Remove unittest dependency (unittests) 2023-06-05 18:27:24 +01:00
suite_wslua.py test: Add Lua ByteArray integer tests 2023-08-22 13:15:20 +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