diff options
| author | Yuriy Andamasov <yuriy@vyos.io> | 2026-04-16 08:09:06 +0300 |
|---|---|---|
| committer | Yuriy Andamasov <yuriy@vyos.io> | 2026-04-16 08:10:17 +0300 |
| commit | 9555eb81ec1030f9834254d3bacb9ef223c9f8a9 (patch) | |
| tree | cc4b894829c718a5e906137e03b2513a2ba788e0 | |
| parent | 8507846c78b053104e2e80048095cd8299ae3719 (diff) | |
| download | vyos.vyos-chore/copilot-review-instructions.tar.gz vyos.vyos-chore/copilot-review-instructions.zip | |
T8523: fix four more inaccuracies flagged by Copilot reviewchore/copilot-review-instructions
- CLI quoting: address values in firewall groups are unquoted in
fixtures; instruct reviewers to align with surrounding fixture
style rather than flagging all unquoted addresses
- Resource module mocking: add .start()/.stop() calls to the snippet
so it matches the actual setUp/tearDown pattern in existing tests
- terminal plugin versions: reference README.md instead of hardcoding
a version list that diverges from README
- changelog fragment: remove stale "copyright headers" claim (that
section was dropped from the instruction files)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| -rw-r--r-- | .github/copilot-instructions.md | 7 | ||||
| -rw-r--r-- | .github/instructions/modules.instructions.md | 2 | ||||
| -rw-r--r-- | .github/instructions/tests.instructions.md | 10 | ||||
| -rw-r--r-- | changelogs/fragments/copilot-instructions.yml | 3 |
4 files changed, 15 insertions, 7 deletions
diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 02d951ce..fc25faa1 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -40,9 +40,10 @@ Resource modules support all states: `merged`, `replaced`, `overridden`, `delete ## VyOS CLI conventions -- Set commands with string/address values: `set interfaces ethernet eth0 address '192.0.2.1/24'` +- Set commands: `set interfaces ethernet eth0 address '192.0.2.1/24'` - Delete commands: `delete interfaces ethernet eth0 address '192.0.2.1/24'` -- String and address values are single-quoted; boolean flags and bare keywords are not. +- Quoting varies by context. In general, string values (descriptions, names, ELIN numbers) are single-quoted; boolean flags and bare keywords are not. However, address/prefix values may be quoted or unquoted depending on where they appear: - Quoted: `address '192.0.2.1/24'`, `description 'my-iface'`, `elin '0000000911'` - - Unquoted: `disable`, `mtu-ignore`, `set interfaces loopback lo`, `vif 200` + - Unquoted: `address 192.0.2.1` (in firewall groups), `disable`, `mtu-ignore`, `vif 200` +- When reviewing tests and fixtures, align with the quoting style used by surrounding fixtures rather than flagging a missing quote as an error. - Interface types: `ethernet`, `loopback`, `bonding`, `bridge`, `tunnel`, `wireguard`. diff --git a/.github/instructions/modules.instructions.md b/.github/instructions/modules.instructions.md index 85a34015..d7782e1e 100644 --- a/.github/instructions/modules.instructions.md +++ b/.github/instructions/modules.instructions.md @@ -34,4 +34,4 @@ Verify any changed redirect target exists as a real module file under `plugins/m ## cliconf / terminal plugins `plugins/cliconf/vyos.py` — do not modify without understanding edit-mode and commit semantics. -`plugins/terminal/vyos.py` — handles prompt detection; regex changes require testing against all supported VyOS versions (1.3.8, 1.4.1, 1.4.2, 1.5 rolling). +`plugins/terminal/vyos.py` — handles prompt detection; regex changes require testing against all supported VyOS versions listed in README.md. diff --git a/.github/instructions/tests.instructions.md b/.github/instructions/tests.instructions.md index 66f08f88..150db41e 100644 --- a/.github/instructions/tests.instructions.md +++ b/.github/instructions/tests.instructions.md @@ -20,15 +20,23 @@ class TestVyosFooModule(TestVyosModule): ## Mocking: resource modules -Resource module tests require two framework-level patches in `setUp`: +Resource module tests require two framework-level patches in `setUp` with corresponding cleanup in `tearDown`: ```python +# in setUp: self.mock_get_resource_connection_config = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.cfg.base.get_resource_connection" ) +self.get_resource_connection_config = self.mock_get_resource_connection_config.start() + self.mock_get_resource_connection_facts = patch( "ansible_collections.ansible.netcommon.plugins.module_utils.network.common.facts.facts.get_resource_connection" ) +self.get_resource_connection_facts = self.mock_get_resource_connection_facts.start() + +# in tearDown: +self.mock_get_resource_connection_config.stop() +self.mock_get_resource_connection_facts.stop() ``` Most resource module tests also patch the facts class's `get_device_data` method directly and use it in `load_fixtures`: diff --git a/changelogs/fragments/copilot-instructions.yml b/changelogs/fragments/copilot-instructions.yml index 7e3de0b9..c7af5c74 100644 --- a/changelogs/fragments/copilot-instructions.yml +++ b/changelogs/fragments/copilot-instructions.yml @@ -1,5 +1,4 @@ --- trivial: - Add Copilot custom review instructions to guide automated code review with - project-specific conventions for tests, changelog fragments, copyright headers, - and module patterns. + project-specific conventions for tests, changelog fragments, and module patterns. |
