ZigRazor / ZigRazor/CXXGraph

Randomly Shuffling Access Ordering of Graphs

Open
#439 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

CI/CD enhancement hacktoberfest repo test
Dominant language
C++
Stars
729
Forks
147
Avg merge
19h
Merged PRs (30d)
1

Description

Is your feature request related to a problem? Please describe.
issue433
issue408
Bug-free code is rare in medium and large projects.
Therefore, test coverage is extremely important.
Due to differences in operating systems, compilers, etc.,
the access order of graphs in test cases may also differ,
which may cause test cases to behave differently.

Describe the solution you'd like
By randomly shuffling the access order of the graph,
we can easily obtain a large number of equivalent test cases,
allowing us to find hidden bugs as much as possible.
So I propose to add a test class between the test case and the graph class to allow random access.

Describe alternatives you've considered
Open a test branch,and add this feature to it.

Additional context
Add any other context or screenshots about the feature request here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing issues 433 and 408, then inspect the existing graph test cases and how they access graph data. Define how a test-layer abstraction would randomize equivalent access orders across supported environments, and verify that the resulting tests expose ordering-sensitive behavior without changing their expected results.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.