wireshark/test
João Valverde ac0a69636b dfilter: Add support for unary arithmetic
This change implements a unary minus operator.

Filter: tcp.window_size_scalefactor == -tcp.dstport

Instructions:
00000 READ_TREE		tcp.window_size_scalefactor -> reg#0
00001 IF_FALSE_GOTO	6
00002 READ_TREE		tcp.dstport -> reg#1
00003 IF_FALSE_GOTO	6
00004 MK_MINUS		-reg#1 -> reg#2
00005 ANY_EQ		reg#0 == reg#2
00006 RETURN

It is supported for integer types, floats and relative time values.
The unsigned integer types are promoted to a 32 bit signed integer.

Unary plus is implemented as a no-op. The plus sign is simply ignored.

Constant arithmetic expressions are computed during compilation.

Overflow with constants is a compile time error. Overflow with
variables is a run time error and silently ignored. Only a debug
message will be printed to the console.

Related to #15504.
2022-03-28 11:20:41 +00:00
..
baseline elastic: fix mapping with recent es versions. 2022-03-14 08:34:48 +00:00
captures GRPC: Add support for gRPC-Web 2022-03-01 10:19:47 +00:00
config dot11decrypt: Add partial FT-EAP decryption support 2021-01-20 16:10:12 +00:00
keys
lua wsutil: Fix time zone handling. 2021-12-30 21:20:08 +00:00
protobuf_lang_files GRPC: Add support for gRPC-Web 2022-03-01 10:19:47 +00:00
suite_dfilter dfilter: Add support for unary arithmetic 2022-03-28 11:20:41 +00:00
suite_dissectors asterix: output format fix 2022-01-23 08:45:04 +00:00
README.test
conftest.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
fixtures.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
fixtures_ws.py tests: Fix Kerberos detection 2022-03-28 11:55:01 +01:00
hosts.custom
hosts.global
hosts.personal
matchers.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
sampleif.py
subprocesstest.py tests: Add argument to trim output to a reasonable size 2021-02-04 17:00:36 +00:00
suite_capture.py MSYS2: Test commands in pipes need quoting 2021-09-27 16:45:58 +00:00
suite_clopts.py elastic: fix mapping with recent es versions. 2022-03-14 08:34:48 +00:00
suite_decryption.py packet-smb2: add AES-256-* decryption 2022-02-02 07:54:40 +00:00
suite_dissection.py tests: Remove not implemented tests 2022-03-28 11:55:24 +01: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 file-pcapng: redo the way we dissect the data in blocks. 2021-06-04 16:46:40 -07: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 HTTP2, QUIC: fix "Follow Stream" 2021-09-13 15:13:10 +00:00
suite_io.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +00:00
suite_mergecap.py Tools+test: Call python3 explicitly. 2020-11-05 06:46:35 +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 Use wtap_blocks for packet comments 2021-07-07 18:40:24 +00:00
suite_text2pcap.py test: Update text2pcap test to use new hexdump option 2022-01-12 23:22:39 -05:00
suite_unittests.py COSE dissector from dtn-wireshark project 2021-09-29 08:51:13 +00:00
suite_wslua.py tests: Remove broken wslua gregex tests 2022-03-28 11:55:24 +01:00
test.py Test: Add external tests. 2021-10-01 23:40:17 +00:00
travis-upload-artifacts.sh
util_dump_dhcp_pcap.py

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