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
  • #89

Closed
Open
Created Mar 29, 2026 by cameron@cameronMaintainer

Testing icgrep colorization

The QA/greptest.py performs combinatorial testing of icgrep with the possibility of adding various random flags. In particular it has a mode for testing the -colors=always flag.

Unfortunately, the testing of the result of adding colorization is incomplete. The oracle in the program understands how to strip out colorization escape sequences and then compare with the expected search results. This does not confirm that the colorization itself is correct, i.e., that the portion of the output that is colorized actually includes the characters that are matched.

The program should be updated to support complete colorization tests. In order to do this, the grepcase data in the greptest.xml files would need an additional attribute to indicate the spans of characters that should be matched on each line.

  1. Design an optional attribute that can be added to grepcases to indicate the span of characters that should be colorized on each line.
  2. Update the greptest.xml file to include this colorization data for some grepcases.
  3. Modify the greptest.py program to check whether the correct spans of characters are colorized.

One note: icgrep colorization is based on the idea that all possible matches on each line should be colorized. Sometimes there will be multiple overlapping matches on a line.

Edited Mar 29, 2026 by cameron
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