Extension: omni.kit.window.tests-0.3.8

Documentation Generated: Nov 13, 2025

Overview#

The omni.kit.window.tests extension provides a comprehensive test runner window for discovering, filtering, and executing Python tests within Omniverse Kit. This extension centralizes test management by automatically discovering tests from various sources and presenting them in an organized interface for selection and execution.

_images/show_preview.png

Functionality#

The extension creates a dedicated window that displays all discoverable Python tests in a hierarchical structure. Tests can be filtered using regular expressions, selected individually or in groups, and executed with real-time status monitoring. The system supports multiple test discovery sources through a pluggable populator architecture.

Test Discovery and Population: The extension uses TestPopulator implementations to discover tests from different sources. Multiple populators can be registered simultaneously, each providing tests from specific locations or contexts. This allows the system to aggregate tests from extensions, local files, or custom sources into a unified view.

Interactive Test Selection: Each test appears with a checkbox for individual selection, along with action buttons for running single tests or performing soak testing. The interface maintains selection counts and provides bulk selection operations through “Select All” and “Deselect All” functionality.

Real-time Test Execution: When tests are executed, the system provides live status updates through asynchronous monitoring. Test results are displayed directly in the interface, showing pass/fail status and execution progress.

Key Components#

TestRunnerWindow#

The main window manages the complete test runner interface, including the toolbar, test list display, and filtering controls. It coordinates between different populators and maintains the UI state throughout test discovery and execution phases.

TestPopulator Integration#

The extension integrates with omni.kit.test’s TestPopulator system to discover available tests. Populators can be dynamically added or removed, allowing extensions to contribute their own test discovery mechanisms without modifying the core test runner.

Properties Configuration#

The TestingPropertiesWindow provides configuration options for test execution parameters. Users can access these settings through the properties button in the main toolbar, allowing customization of test runner behavior without requiring code changes.

Usage Examples#

The extension integrates with omni.kit.menu.utils to provide menu access to the test runner window. Once enabled, users can access the test runner through the application menu system or programmatically control its visibility.

Test populators can be registered to extend the test discovery capabilities:

# Add a custom test populator
TestRunnerWindow.add_populator(custom_populator)

# Remove a populator when no longer needed
TestRunnerWindow.remove_populator("populator_name")

Extensibility#

The populator architecture allows other extensions to contribute test discovery mechanisms by implementing TestPopulator interfaces and registering them with the test runner. This enables specialized test sources while maintaining a unified test execution interface.