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

[NPU][IE-MDK] Load testing skip config at runtime #29056

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

sbutnari
Copy link
Contributor

@sbutnari sbutnari commented Feb 18, 2025

Details:

  • Adds a mechanism to load and parse an xml file containing all test skips
  • Defines skip enabling "rules": a user can select if a skip is applied depending on OS, Platform number or Backend type
  • Rules are optional. Users can negate a rule by using "!" and they can add as many rules as needed
  • Skip filters and rules are grouped in the following format:
<skip_config>
    <message> Provide reason why these tests are skipped </message>
    <enable_rules> <-- rules section starts here -->
        <backend>LEVEL0</backend>
        <backend>IMD</backend>
        <device>3720</device>
        <device>4000</device>
        <operating_system>windows</operating_system>
        <operating_system>linux</operating_system>
    </enable_rules>
    <filters> <-- skip filters section starts here -->
        <filter>skip this test 1</filter>
        <filter>skip this test 2</filter>
        <filter>skip this test 3</filter>
    </filters>
</skip_config>

Functionality is enabled by setting OV_NPU_TESTS_SKIP_CONFIG_FILE environment variable with the correct path, the file will be loaded and parsed.
However, if the path is left empty the application will use the legacy skip filters as configured in skip_tests_config.cpp

Tickets:

  • EISW-142588

@sbutnari sbutnari requested review from a team as code owners February 18, 2025 16:44
@github-actions github-actions bot added category: build OpenVINO cmake script / infra category: NPU OpenVINO NPU plugin labels Feb 18, 2025
@sbutnari sbutnari force-pushed the new_runtime_skip_config branch from 4cacc49 to f49eac1 Compare February 19, 2025 09:22
@sbutnari
Copy link
Contributor Author

build_jenkins

// Multiple Backends, Devices, OSes can be selected
// If "!" is found, then rule is inverted
pugi::xml_node enableRules = skipConfigRule.child("enable_rules");
bool ruleFlag = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not set it to true here if the default value is true?

pugi::xml_node enableRules = skipConfigRule.child("enable_rules");
bool ruleFlag = false;
if (!enableRules.empty()) {
bool backendRuleFlag = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question here

}
} else {
// Rule empty, default to true
deviceRuleFlag = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same

deviceRuleFlag = true;
}

bool operatingSystemRuleFlag = false;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same

@@ -66,3 +69,7 @@ install(
RUNTIME DESTINATION tests
COMPONENT tests
EXCLUDE_FROM_ALL)

install(FILES ${SKIP_CONFIG_PATH}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@XinWangIntel, could you please have another look here?

@sbutnari
Copy link
Contributor Author

build_jenkins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: build OpenVINO cmake script / infra category: NPU OpenVINO NPU plugin
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants