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

Ensure that single space between tasks is preserved when using --write #3641

Merged
merged 10 commits into from
Aug 21, 2023

Conversation

shatakshiiii
Copy link
Contributor

Fixes: #3603, #2112

@github-actions github-actions bot added the bug label Aug 1, 2023
@shatakshiiii shatakshiiii changed the title Ensure that single space between tasks are preserved when using --write Ensure that single space between tasks is preserved when using --write Aug 1, 2023
@shatakshiiii shatakshiiii marked this pull request as ready for review August 4, 2023 09:42
@shatakshiiii shatakshiiii requested a review from a team as a code owner August 4, 2023 09:42
@shatakshiiii shatakshiiii requested review from a team, audgirka, priyamsahoo and Ruchip16 August 4, 2023 09:42

before_formatting = yaml.loads(task_file_content)
dump_from_formatting = yaml.dumps(before_formatting)
assert task_file_content == dump_from_formatting
Copy link
Member

Choose a reason for hiding this comment

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

Basically you do only test that the formatter does not change the output in any way, but that is not a good enough way to test that the spacing is the correct one. I would want to also see a case where it is bad before and transformer is changing it the way we want.

Copy link
Member

Choose a reason for hiding this comment

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

Another question that I have: if I comment the code change and only include the tests, are they going to pass? If they pass already it means they have only very limited value. If not, they are likely ok.

Copy link
Member

Choose a reason for hiding this comment

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

I see that the body of the test looks identical. Maybe it would be better to use parameterized tests instead of repeating the same body of the test. Also this should make it easier to add other test files later, for other test-cases.

Copy link
Contributor Author

@shatakshiiii shatakshiiii Aug 7, 2023

Choose a reason for hiding this comment

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

Basically you do only test that the formatter does not change the output in any way, but that is not a good enough way to test that the spacing is the correct one. I would want to also see a case where it is bad before and transformer is changing it the way we want.

Initially I was testing exacting like this (with two different files basically) one with bad/extra spacing and other one with correct spacing after transform. And it was working as we want, but after pushing that commit prettier hook in the pre-commit modified the before-file to remove some of the extra spaces between the tasks so I switched to using a single file because eventually pre-commit was making both of them identical.

In this commit: 2ddcea0

Update: The problem with prettier hook got resolved after moving these tests into test/fixtures/formatting-before/ directory.

Copy link
Contributor Author

@shatakshiiii shatakshiiii Aug 7, 2023

Choose a reason for hiding this comment

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

Another question that I have: if I comment the code change and only include the tests, are they going to pass? If they pass already it means they have only very limited value. If not, they are likely ok.

These new added tests won't pass, if I comment the code changes.


before_formatting = yaml.loads(task_file_content)
dump_from_formatting = yaml.dumps(before_formatting)
assert task_file_content == dump_from_formatting
Copy link
Member

Choose a reason for hiding this comment

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

Another question that I have: if I comment the code change and only include the tests, are they going to pass? If they pass already it means they have only very limited value. If not, they are likely ok.


before_formatting = yaml.loads(task_file_content)
dump_from_formatting = yaml.dumps(before_formatting)
assert task_file_content == dump_from_formatting
Copy link
Member

Choose a reason for hiding this comment

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

I see that the body of the test looks identical. Maybe it would be better to use parameterized tests instead of repeating the same body of the test. Also this should make it easier to add other test files later, for other test-cases.

@shatakshiiii shatakshiiii force-pushed the fix/transform branch 2 times, most recently from 158a3c5 to 4652da5 Compare August 8, 2023 13:57
@ssbarnea ssbarnea self-assigned this Aug 10, 2023
@ssbarnea ssbarnea merged commit 9021516 into ansible:main Aug 21, 2023
@shatakshiiii shatakshiiii deleted the fix/transform branch August 21, 2023 10:29
nrdufour added a commit to nrdufour/home-ops that referenced this pull request Aug 22, 2023
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ansible-lint](https://github.com/ansible/ansible-lint) ([changelog](https://github.com/ansible/ansible-lint/releases)) | minor | `==6.17.2` -> `==6.18.0` |

---

### Release Notes

<details>
<summary>ansible/ansible-lint (ansible-lint)</summary>

### [`v6.18.0`](https://github.com/ansible/ansible-lint/releases/tag/v6.18.0)

[Compare Source](ansible/ansible-lint@v6.17.2...v6.18.0)

#### Minor Changes

-   Limit the maximum block depth ([#&#8203;3602](ansible/ansible-lint#3602)) [@&#8203;Ruchip16](https://github.com/Ruchip16)
-   Transform functionality for command_instead_of_shell  ([#&#8203;3675](ansible/ansible-lint#3675)) [@&#8203;ajinkyau](https://github.com/ajinkyau)
-   Add rule to check the number of tasks ([#&#8203;3156](ansible/ansible-lint#3156)) [@&#8203;Ruchip16](https://github.com/Ruchip16)

#### Bugfixes

-   Clarify loop-var-prefix rule and code snippet ([#&#8203;3642](ansible/ansible-lint#3642)) [@&#8203;schwarmco](https://github.com/schwarmco)
-   Update `version_added` for complexity rule ([#&#8203;3623](ansible/ansible-lint#3623)) [@&#8203;ajinkyau](https://github.com/ajinkyau)
-   Ensure that single space between tasks is preserved when using --write ([#&#8203;3641](ansible/ansible-lint#3641)) [@&#8203;shatakshiiii](https://github.com/shatakshiiii)
-   Update ansible-compat used for testing ([#&#8203;3664](ansible/ansible-lint#3664)) [@&#8203;ssbarnea](https://github.com/ssbarnea)
-   Document `yaml[line-length]` rule ([#&#8203;3653](ansible/ansible-lint#3653)) [@&#8203;shatakshiiii](https://github.com/shatakshiiii)
-   Prevent use of spdx-tools 0.8.0 due to breaking changes ([#&#8203;3649](ansible/ansible-lint#3649)) [@&#8203;ssbarnea](https://github.com/ssbarnea)
-   fixes dead marketplace link ([#&#8203;3631](ansible/ansible-lint#3631)) [@&#8203;wookietreiber](https://github.com/wookietreiber)
-   Improve profile information on summary line ([#&#8203;3637](ansible/ansible-lint#3637)) [@&#8203;ziegenberg](https://github.com/ziegenberg)
-   command-instead-of-module: allow `git rev-parse` ([#&#8203;3610](ansible/ansible-lint#3610)) [@&#8203;JohnVillalovos](https://github.com/JohnVillalovos)
-   Include filepaths starting from $HOME in lintables ([#&#8203;3621](ansible/ansible-lint#3621)) [@&#8203;shatakshiiii](https://github.com/shatakshiiii)
-   Update \_mockings.py to fix bug created in [#&#8203;3390](ansible/ansible-lint#3390) ([#&#8203;3614](ansible/ansible-lint#3614)) [@&#8203;karcaw](https://github.com/karcaw)
-   Allow to set gather_facts as templated boolean ([#&#8203;3606](ansible/ansible-lint#3606)) [@&#8203;noonedeadpunk](https://github.com/noonedeadpunk)
-   Add dependency version check for collection metadata ([#&#8203;3601](ansible/ansible-lint#3601)) [@&#8203;ajinkyau](https://github.com/ajinkyau)
-   Fix installation of dependencies when run as an action ([#&#8203;3592](ansible/ansible-lint#3592)) [@&#8203;ssbarnea](https://github.com/ssbarnea)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yMy4yIiwidXBkYXRlZEluVmVyIjoiMzYuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Reviewed-on: https://git.home/nrdufour/home-ops/pulls/49
Co-authored-by: Renovate <renovate@ptinem.io>
Co-committed-by: Renovate <renovate@ptinem.io>
@shatakshiiii shatakshiiii self-assigned this Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Archived in project
Development

Successfully merging this pull request may close these issues.

--write removes newlines it never complained about
4 participants