test: add comprehensive unit tests for vermicelli and noodle accelerators#380
test: add comprehensive unit tests for vermicelli and noodle accelerators#380markos merged 4 commits intoVectorCamp:developfrom
Conversation
afc5832 to
52ab886
Compare
|
There are conflicts could you please rebase against develop? |
52ab886 to
99d6dac
Compare
Done :) |
|
Several SVE2 related tests have failed, perhaps because the fixes were in a separate PR (which is now merged). Could you please look into them or just rebase against current develop to see if they persist? Thanks again. |
99d6dac to
d7489b1
Compare
Okay, I just rebased it. |
It seems that vermicelliDoubleMakedExec() is implemented only with NEON, not SVE. It requires at least 16 bytes. |
Add 50 new tests in vermicelli_extra.cpp covering: - Small buffer paths (1 byte to VECTORSIZE-1) - Exact VECTORSIZE and VECTORSIZE+1 boundary cases - Per-position match sweep for all 7 vermicelli functions - Reverse double vermicelli NoMatch (previously missing) - Forward/reverse consistency checks - Alignment stress tests - Double vermicelli SIMD cross-boundary sweep - Masked double vermicelli with partial bit masks - Non-alphabetic character matching Signed-off-by: Byeonguk Jeong <jungbu2855@gmail.com>
Initialize 'dummy' variable in StackLowerThanAddress() to zero to avoid potential undefined behavior and compiler warning. Signed-off-by: Byeonguk Jeong <jungbu2855@gmail.com>
Add missing sentinel element to state transition vectors for both 16-state and 32-state DFA test configurations. The alpha_size includes a sentinel entry at index alpha_size-1, so each state's next vector must have alpha_size elements. Fixes: d032540 ("Add sheng tests") Signed-off-by: Byeonguk Jeong <jungbu2855@gmail.com>
Add tests covering edge cases and broader scenarios: - Early termination via callback (single and double char) - No-match scenarios for single and double patterns - Empty and minimal-length buffer handling - Large buffer scanning (multi-vector iteration) - Case-insensitive matching for single and double patterns - Unaligned buffer scanning - Various alignment boundary conditions - All-match dense buffers for single and double patterns Signed-off-by: Byeonguk Jeong <jungbu2855@gmail.com>
d7489b1 to
cd29764
Compare
markos
left a comment
There was a problem hiding this comment.
Nice set of unit tests! Again thank you for your contribution!
Summary
Add extensive unit tests for vermicelli and noodle accelerator functions to improve coverage and catch edge-case regressions.
Tests Added
vermicelli (~750 lines, new file)
noodle (~413 lines)
gtest: uninitialized variable warning
dummyvariable inStackGrowsDown()to suppress-Wuninitialized.sheng: DFA state transition table size mismatch
alpha_sizeincludes a sentinel entry, so each state'snextvector must havealpha_sizeelements.@AhnLab-OSS @AhnLab-OSSG