By default, the tool checks for validation of standard sizes, with source and destination alignment as cache line size. However, for non-standard sizes, you can pass the size range along with the -t value for validating the target sizes with different combinations of source and destination alignment.
For the given input size, the tool displays the validation result as Passed or Failed.
Report Description
Results will be generated in a .csv file format.
Validation report will be stored at this path:
build_dir/test/out/<libmem_function>/<time-stamp-counter>/<validation_report.csv>
Arguments for the framework:
$ ./validator.py -r [start] [end] -a[src] [dst] -t[iterator count] <mem_function>
-r Range = [Start] and [End] range in Bytes.
-a alignment = [src] and [dst] alignments. Default alignment is 64B for both source and destination.
-t <iterator> = specify the iteration pattern. Default is "2x" of starting size - '<<1'
<mem_function> = memcpy,memset,memcmp,memmove,mempcpy,strcpy,strncpy
Example:
$ ./validator.py -r 8 64 -a 5 8 -t"+1" memcpy
Performs the Validation testing starting from 8 Bytes –> 64 Bytes with Src Alignment: 5 & Dst Alignment: 8 and iterator pattern as “+1”.
> Validation for size [8] in progress...
> Validation for size [9] in progress...
> Validation for size [10] in progress...
...
Different options can be provided based on your requirement.
$ ./validator.py -h