• Æ
    grep: add tests for --threads=N and grep.threads · c5813658
    Ævar Arnfjörð Bjarmason 提交于
    Add tests for --threads=N being supplied on the command-line, or when
    grep.threads=N being supplied in the configuration.
    
    When the threading support was made run-time configurable in commit
    89f09dd3 ("grep: add --threads=<num> option and grep.threads
    configuration", 2015-12-15) no tests were added for it.
    
    In developing a change to the grep code I was able to make
    '--threads=1 <pat>` segfault, while the test suite still passed. This
    change fixes that blind spot in the tests.
    
    In addition to asserting that asking for N threads shouldn't segfault,
    test that the grep output given any N is the same.
    
    The choice to test only 1..10 as opposed to 1..8 or 1..16 or whatever
    is arbitrary. Testing 1..1024 works locally for me (but gets
    noticeably slower as more threads are spawned). Given the structure of
    the code there's no reason to test an arbitrary number of threads,
    only 0, 1 and >=2 are special modes of operation.
    
    A later patch introduces a PTHREADS test prerequisite which is true
    under NO_PTHREADS=UnfortunatelyYes, but even under NO_PTHREADS it's
    fine to test --threads=N, we'll just ignore it and not use
    threading. So these tests also make sense under that mode to assert
    that --threads=N without pthreads still returns expected results.
    Signed-off-by: NÆvar Arnfjörð Bjarmason <avarab@gmail.com>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    c5813658
t7810-grep.sh 37.7 KB