microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
.config/nextest.toml
75lines · modecode
| 1 | # Copyright (c) Microsoft Corporation. |
| 2 | # Licensed under the MIT License. |
| 3 | |
| 4 | # IMPORTANT: nextest processes this file in linear order. The |
| 5 | # first override to set any setting wins. Order any overrides |
| 6 | # from most-to-least specific. |
| 7 | # |
| 8 | # Take the following config items by example: |
| 9 | # |
| 10 | # [[profile.default.overrides]] # <-- override 1 |
| 11 | # filter = 'package(~vmm_tests)' |
| 12 | # threads-required = 3 |
| 13 | # |
| 14 | # [[profile.default.overrides]] # <-- override 2 |
| 15 | # filter = 'package(~vmm_tests) and test(very_heavy)' |
| 16 | # threads-required = 35 |
| 17 | # |
| 18 | # If a test is named "my_very_heavy_test", nextest will |
| 19 | # apply ***threads-required = 3***, since override 1 |
| 20 | # is first in the file and matches. |
| 21 | # |
| 22 | # See: |
| 23 | # https://nexte.st/docs/configuration/per-test-overrides/#override-precedence |
| 24 | # https://nexte.st/docs/configuration/?h=hierar#hierarchical-configuration |
| 25 | |
| 26 | [[profile.default.overrides]] |
| 27 | # use fuzzy-matching for the package() to allow out-of-tree tests to use the |
| 28 | # same profile |
| 29 | filter = 'package(~vmm_tests) and test(very_heavy)' |
| 30 | # Mark very heavy tests as extra very heavy, as they include up to 32 vps. |
| 31 | # However most of these vps should spend most of their time idle. |
| 32 | threads-required = 32 |
| 33 | |
| 34 | [[profile.default.overrides]] |
| 35 | # use fuzzy-matching for the package() to allow out-of-tree tests to use the |
| 36 | # same profile |
| 37 | filter = 'package(~vmm_tests) and test(heavy) and not (test(very_heavy))' |
| 38 | # Mark heavy tests as extra heavy, as they include up to 16 vps. |
| 39 | # However most of these vps should spend most of their time idle. |
| 40 | threads-required = 8 |
| 41 | |
| 42 | [[profile.default.overrides]] |
| 43 | # use fuzzy-matching for the package() to allow out-of-tree tests to use the |
| 44 | # same profile |
| 45 | filter = 'package(~vmm_tests)' |
| 46 | # Mark VMM tests as heavy and requiring more threads due to their memory and CPU |
| 47 | # usage. For local dev runs, you may need to manually restrict the number of |
| 48 | # threads running via the -j cli arg. |
| 49 | threads-required = 3 |
| 50 | |
| 51 | # Profile for CI runs. |
| 52 | [profile.ci] |
| 53 | # Set the default timeout to 1 second, with tests terminated after 10 seconds |
| 54 | slow-timeout = { period = "1s", terminate-after = 10 } |
| 55 | # Print out output for failing tests at the end of the run. |
| 56 | failure-output = "final" |
| 57 | # Do not cancel the test run on the first failure. |
| 58 | fail-fast = false |
| 59 | |
| 60 | [profile.ci.junit] |
| 61 | path = "junit.xml" |
| 62 | store-success-output = "true" |
| 63 | |
| 64 | [[profile.ci.overrides]] |
| 65 | # allow loom based tests more time, as they take a while |
| 66 | filter = 'test(loom)' |
| 67 | slow-timeout = { period = "30s", terminate-after = 2 } |
| 68 | |
| 69 | [[profile.ci.overrides]] |
| 70 | # use fuzzy-matching for the package() to allow out-of-tree tests to use the |
| 71 | # same profile |
| 72 | filter = 'package(~vmm_tests)' |
| 73 | # VMM tests contain their own watchdog timer, but keep an extra long timer |
| 74 | # here as a backup. |
| 75 | slow-timeout = { period = "10m", terminate-after = 2 } |