Lines Matching +full:valgrind +full:- +full:fuzz +full:- +full:test
13 Long-term ideas (wish list)
24 A Python script that generates input and expected output test data for test
30 site. The generated file contains the tables for a 2-stage lookup of Unicode
45 A shell script that runs "configure, make, test" a number of times with
48 pcre2_chartables.c.non-standard
79 sequence of bytes in the UTF-8 encoding, and vice versa. If its argument is a
80 hex number such as 0x1234, it outputs a list of the equivalent UTF-8 bytes.
81 If its argument is a sequence of concatenated UTF-8 bytes (e.g. 12e188b4) it
82 treats them as a UTF-8 string and outputs the equivalent code points in hex.
118 in ucptestdata are set up to check a number of test characters. See the
143 files are CMakeLists.txt and config-cmake.h.in. After making a release, test
146 . Run ./autogen.sh to ensure everything is up-to-date.
148 . Compile and test with many different config options, and combinations of
149 options. Also, test with valgrind by running "RunTest valgrind" and
150 "RunGrepTest valgrind". The script maint/ManyConfigTests now encapsulates
152 some of them with valgrind, all of which can take quite some time.
154 . Run tests in both 32-bit and 64-bit environments if possible. I can no longer
155 run 32-bit tests.
158 make use of -fsanitize=address and friends where possible. For gcc,
159 -fsanitize=undefined -std=gnu99 picks up undefined behaviour at runtime.
160 For clang, -fsanitize=address,undefined,integer can be used but
161 -fno-sanitize=unsigned-integer-overflow must be added when compiling with JIT.
162 Another useful clang option is -fsanitize=signed-integer-overflow
164 . Do a test build using CMake. Remove src/config.h first, lest it override the
166 still works: [c]cmake -DCMAKE_UNITY_BUILD=ON sets up a unity build.
168 . Run perltest.sh on the test data for tests 1 and 4. The output should match
169 the PCRE2 test output, apart from the version identification at the start of
170 each test. Sometimes there are other differences in test 4 if PCRE2 and Perl
171 are using different Unicode releases. The other tests are not Perl-compatible
172 (they use various PCRE2-specific features or options).
174 . It is possible to test with the emulated memmove() function by undefining
178 NEWS (check version and date), NON-AUTOTOOLS-BUILD, and README. Many of these
181 . I used to test new releases myself on a number of different operating
182 systems. For example, on Solaris it is helpful to test using Sun's cc
183 compiler as a change from gcc. Adding -xarch=v9 to the cc options does a
184 64-bit test, but it also needs -S 64 for pcre2test to increase the stack size
185 for test 2. Since I retired I can no longer do much of this. There are
222 1. Programs using the previous version may use the new version as a drop-in
227 2. Programs using the previous version may use the new version as a drop-in
247 and the zipball. I then sign these files. Double-check with "git status" that
248 the repository is fully up-to-date, then create a new tag and a release on
267 matching. Most of them try to save work by recognizing a non-match without
270 * /((A{0,5}){0,5}){0,5}(something complex)/ on a non-matching string is very
272 OTOH, this is pathological - the user could easily fix it.
277 * "Ends with literal string" - note that a single character doesn't gain much
283 * A required code unit from alternatives - not just the last unit, but an
290 setting the bits for 0-9 and all values >= xC0 (in 8-bit mode) when a
293 . If Perl gets to a consistent state over the settings of capturing sub-
303 . A (non-Unix) user wanted pcregrep options to (a) list a file name just once,
305 support --outputfile=name.
314 . pcre2grep: add -rs for a sorted recurse. Having to store file names and sort
317 . Someone suggested --disable-callout to save code space when callouts are
334 non-thread-safe patch showed that this can help performance for patterns
335 where there are many alternatives. However, a simple thread-safe
358 . Perl supports [\N{x}-\N{y}] as a Unicode range, even in EBCDIC. PCRE2
387 Perl also has /aa, which in addition, disables ASCII/non-ASCII caseless
391 . There is more that could be done to the oss-fuzz setup (needs some research).
393 The test function could make use of get_substrings() to cover more code.
401 the line itself. For example, --before-context=-1 would list the line *after*
404 flag to disable showing matched lines, only valid with either -A or -B?
407 general PCRE2GREP_OPT, but only for some options - not file names or patterns.
414 . If a function could be written to find 3-character (or other length) fixed
416 pre-searching of large datasets could be implemented.
418 . If pcre2grep had --first-line (match only in the first line) it could be
419 efficiently used to find files "starting with xxx". What about --last-line?
421 start of a file. I am not keen - this is the job of "head".
424 the start-of-match optimizations, or by running the match engine. Easy enough
433 re-defining \w (and therefore \W, \b, and \B). An in-pattern sequence such as
437 amount of stack would do - how deep would anyone want to nest these things?
441 . A user suggested something like --with-build-info to set a build information