Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Regression test example #123

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

Commits on Jun 4, 2024

  1. Refactor tree_walk and doc generation

    Factor out functions that do walk-tree and that answer questions about the
    model (e.g. is_optional()? for a particular field).  Those functions are
    reusable for several tasks and should not be tied to document generation
    only.
    
    The implementations of helper functions are now also cleaner, and using
    consistent naming of parameters.
    
    The ifex_ast_doc.py was modified accordingly to make use of the new
    module ifex_model_walk for walk-function and other helpers.
    Other than that, very little change to the actual documentation
    generation logic.
    
    Signed-off-by: Gunnar Andersson <gunnar_dev@[email protected]>
    Gunnar Andersson authored and gunnar-mb committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    466aa0a View commit details
    Browse the repository at this point in the history
  2. ifex_ast: Simplify, add get_ast_node_type_names() function

    This simplifies the implementation of TemplateDir so that it can
    easily get the node names to match them against template names.
    (the walk function was clearly overkill for this task).
    
    Signed-off-by: Gunnar Andersson <gunnar_dev@[email protected]>
    Gunnar Andersson authored and gunnar-mb committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    8f855e7 View commit details
    Browse the repository at this point in the history
  3. Add regression test (diff), Github workflow and scripts

    This runs through most outputs we can find (various generators
    and documentation generation) and reports any differences compared
    to previous versions.  This is useful for spotting regressions and
    being confident about refactorings.
    
    At this time, comparison of the result must be done manually -
    the workflow does not determine "failure" on a regression (but that is
    of course done by the normal unit tests, etc.).
    
    NOTE:  This removes other workflows from regression test branch
    because they are superfluous in the current usage (they will be run
    when a PR is sent, etc.)
    
    Later, if the regression test is introduced in the PR flow, some
    conditions could be set up to make this better.
    
    Signed-off-by: Gunnar Andersson <gunnar_dev@[email protected]>
    Gunnar Andersson authored and gunnar-mb committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    e6263b2 View commit details
    Browse the repository at this point in the history