Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
P parabix-devel
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 17
    • Issues 17
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • cameron
  • parabix-devel
  • Issues
  • #88

Closed
Open
Created Mar 29, 2026 by cameron@cameronMaintainer

Testing icgrep flags -A, -B, -C

The QA/greptest.py performs combinatorial testing of icgrep with the possibility of adding various random flags. Based on the flags added, it implements an oracle that can check whether the produced output matches expectations.

In the program, random flags and values are chosen from the following structure:

flag_map = {'-CarryMode' : ['Compressed', 'BitBlock'],
            'counting_choices' : ["-c", "-l", "-L"],
            '-v' : [],
            '-n' : [],
            '-m' : ['2', '5'],
            '-match-coordinates' : ['2', '8'],
            '-DisableMatchStar' : [],
            '-segment-size' : ['8192', '16384', '32768'],
            '-ccc-type' : ['ternary'],
            '-colors' : ['always', 'never'],
            '-EnableTernaryOpt' : [],
            '-maxlimit-termination-mode' : ['report', 'terminate', 'zero']}

However, this does not currently implement any tests involving the -A, -B, -C flags. These flags are used to print additional context lines either after (A), before (B) or surrounding (C) each group of consecutive matched lines.

Note that the grepcase data in the test data file such as greptest.xml often includes greplines attributes that list the individual lines that match. Using this information it should be possible to implement an oracle that confirms correct output for randomly added context line flags.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking