Knowledge Base Administration Guide

Models

Simscope tracks the model_version of each Regression, from your version control system.

  • Model Version is also called commit ID, revision, changelist, or SHA (depending on your version control).

Purpose

Model Versions let users figure out what changed in each regression to cause different test behavior.

  • Also, users can reproduce a failure by switching to that model_version.

Here is a table of what Version Control systems refer to model_version as:

Version Control SystemName
GitSHA (hash)
Subversioncommit/revision
Perforcechangelist

Viewing Models in Simscope

To view Models, click in the top navigation MiscModels

Here is an example:

Models

Commit vs Integrate

Simscope tracks two types of model versions:

  1. Commits are unintegrated or development checkins.
  2. Integrates are integrated commits into a stable branch (ie master/main/HEAD). Integrates may contain child commits, forming a tree structure.

→ See Integrated Models for instructions on enabling integrated models.

Example Integrate timeline

Here is a basic structure showing 3 integrated models, and 5 commits (8 total models):

integrate2
└── commit5

integrate1
├── commit4
├── commit3
└── commit2

integrate0
└── commit1
  • With this tree, if a user is looking for a regression containing commit3, Simscope knows it is any regression on model integrate1 or newer.

Rules

Signature Rules only work on integrated commits. This ensures a stable timeline, so that Simscope knows whether any regression contains a fix commit (or if does not).

Resolving Rules

To resolve rules, Simscope will search its internal database of changelists, which is based on integrate regressions.

  • These are regressions from a stable integrate, in your stable (ie master, mainline, trunk) branch, which always pass.

As opposed to development regressions, which may or may not pass, and also may be in a private area.

Integrate regressions require:

  1. model_branch field set
  2. model_version field set
  3. model_timestamp field set
  4. integrate flag set to true

Enabling Integrated Models

→ See Integrated Models for instructions on enabling integrated models.