b2e923173f
CI / lint (pull_request) Successful in 18s
CI / typecheck (pull_request) Successful in 32s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 33s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Successful in 2m5s
CI / integration_tests (pull_request) Successful in 2m50s
CI / docker (pull_request) Successful in 15s
CI / coverage (pull_request) Successful in 4m19s
CI / lint (push) Successful in 12s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 30s
CI / build (push) Successful in 22s
CI / typecheck (push) Successful in 58s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m6s
CI / docker (push) Successful in 50s
CI / integration_tests (push) Successful in 3m21s
CI / coverage (push) Successful in 4m12s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 24m46s
Consolidate 141 BDD feature files that each complete in under 0.1 seconds into 25 domain-grouped feature files, reducing subprocess count from 339 to ~223. Each consolidated file groups scenarios from the same domain/module that share step definitions and fixtures. All scenarios are preserved with clear comment headers indicating their original source file. This reduces subprocess overhead by ~116 invocations (141 original files replaced by 25 consolidated files), targeting the 42% of subprocess count that contributed only 0.2% of actual test runtime. ISSUES CLOSED: #485
74 lines
2.3 KiB
Gherkin
74 lines
2.3 KiB
Gherkin
Feature: Consolidated Main Modules
|
|
Combined scenarios from: main_module, modules, scripts
|
|
|
|
# ============================================================
|
|
# Originally from: main_module.feature
|
|
# Feature: Main Module Entry Point
|
|
# ============================================================
|
|
|
|
Scenario: Run function returns success code
|
|
Given the CLI main function will return 0
|
|
When I call the run function
|
|
Then the run function should return 0
|
|
|
|
|
|
Scenario: Run function returns error code
|
|
Given the CLI main function will return 1
|
|
When I call the run function
|
|
Then the run function should return 1
|
|
|
|
|
|
Scenario: Run function handles exceptions
|
|
Given the CLI main function will raise an exception
|
|
When I call the run function expecting an exception
|
|
Then an exception should be raised
|
|
|
|
|
|
Scenario: Module has required attributes
|
|
When I import the __main__ module
|
|
Then the module should have a "run" attribute
|
|
And the "run" attribute should be callable
|
|
|
|
# ============================================================
|
|
# Originally from: modules.feature
|
|
# Feature: Module Entry Points
|
|
# ============================================================
|
|
|
|
Scenario: Run main module
|
|
When I execute the __main__ module
|
|
Then the CLI should start
|
|
|
|
|
|
Scenario: Import main module
|
|
When I import the __main__ module
|
|
Then it should have a run function
|
|
|
|
|
|
Scenario: Platform module imports CLI
|
|
When I call ensure_cli_importable
|
|
Then it should return the CLI module
|
|
And the module should have a cli attribute
|
|
And the module should have a main attribute
|
|
|
|
|
|
Scenario: Platform handles already imported module
|
|
When the CLI module is already imported
|
|
And I call ensure_cli_importable
|
|
Then it should return the cached module
|
|
|
|
|
|
Scenario: Platform handles import errors
|
|
When the CLI module import fails
|
|
And I call ensure_cli_importable
|
|
Then it should propagate the import error
|
|
|
|
# ============================================================
|
|
# Originally from: scripts.feature
|
|
# Feature: Scripts functionality
|
|
# ============================================================
|
|
|
|
Scenario: Do-something shell script executes
|
|
Given I have the do-something.sh script
|
|
When I execute the do-something.sh script
|
|
Then the script output should contain "This script does a thing"
|