Skip to content

Conversation

albertvillanova
Copy link
Member

@albertvillanova albertvillanova commented Oct 1, 2025

Replace unittest with pytest.

Follow-up to comment in: #4171 (comment)

I'd be happy to drop unittest in favour of pytest for all the tests

This PR refactors the test suite by replacing unittest-style with pytest-style. The goal is to modernize the test code, improve readability, and simplify the test logic.

Test code modernization:

  • Replaced all self.assert* and self.assertRaises statements with native Python assert statements and pytest.raises for exception testing across multiple test files. This change improves test readability and aligns with pytest best practices.
  • Updated exception testing to use pytest.raises instead of self.assertRaises in test_bco_trainer.py.

These changes collectively improve the maintainability and clarity of the test suite.

Do not forget to revert the changes in the CI implemented for debugging.

@albertvillanova albertvillanova marked this pull request as ready for review October 1, 2025 13:50
@HuggingFaceDocBuilderDev

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@albertvillanova
Copy link
Member Author

This PR is ready for review. 🚀

Copy link
Member

@qgallouedec qgallouedec left a comment

Choose a reason for hiding this comment

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

wow, huge work, thanks
it probably requires merging main to your branch and resolve some conflicts, but otherwise we're good to merge!

@albertvillanova
Copy link
Member Author

I merged main and there were no conflicts.

@albertvillanova
Copy link
Member Author

All the CI error are unrelated to this PR: they are already present in the main branch.

@albertvillanova albertvillanova merged commit 45ee98b into huggingface:main Oct 6, 2025
2 of 10 checks passed
qgallouedec pushed a commit that referenced this pull request Oct 6, 2025
qgallouedec added a commit that referenced this pull request Oct 6, 2025
commit ae6837f
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 18:40:18 2025 +0200

    Removed tokenizer/processor creation from example scripts (#4211)

commit 56a8f11
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 17:45:44 2025 +0200

    Replace setup with pyproject and fix packaging unintended modules (#4194)

commit 5291015
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 16:04:06 2025 +0200

    Remove `Optional` from `processing_class` in `PPOTrainer` (#4212)

commit 0588b1f
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 15:57:17 2025 +0200

    Updated vLLM integration guide (#4162)

    Co-authored-by: Quentin Gallouédec <[email protected]>

commit 45ee98b
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 11:14:54 2025 +0200

    Replace unittest with pytest (#4188)

commit 3800a6e
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 11:13:21 2025 +0200

    Hotfix: Exclude transformers 4.57.0 for Python 3.9 (#4209)

    Co-authored-by: Sergio Paniego Blanco <[email protected]>

commit 7ad9ce8
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 11:04:20 2025 +0200

    Remove tokenizer creation from `sft` example script (#4197)

commit 0c2dc14
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 08:31:58 2025 +0200

    Remove custome_container for building the docs (#4198)

commit ced8b33
Author: burtenshaw <[email protected]>
Date:   Mon Oct 6 08:23:11 2025 +0200

    [DOCS/FIX] lora without regrets - fix lr (#4207)
qgallouedec added a commit that referenced this pull request Oct 6, 2025
commit 65eb45c
Author: Quentin Gallouédec <[email protected]>
Date:   Mon Oct 6 13:07:18 2025 -0600

    Apply style and revert change in `sft_video_llm` example (#4214)

commit ae6837f
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 18:40:18 2025 +0200

    Removed tokenizer/processor creation from example scripts (#4211)

commit 56a8f11
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 17:45:44 2025 +0200

    Replace setup with pyproject and fix packaging unintended modules (#4194)

commit 5291015
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 16:04:06 2025 +0200

    Remove `Optional` from `processing_class` in `PPOTrainer` (#4212)

commit 0588b1f
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 15:57:17 2025 +0200

    Updated vLLM integration guide (#4162)

    Co-authored-by: Quentin Gallouédec <[email protected]>

commit 45ee98b
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 11:14:54 2025 +0200

    Replace unittest with pytest (#4188)

commit 3800a6e
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 11:13:21 2025 +0200

    Hotfix: Exclude transformers 4.57.0 for Python 3.9 (#4209)

    Co-authored-by: Sergio Paniego Blanco <[email protected]>

commit 7ad9ce8
Author: Sergio Paniego Blanco <[email protected]>
Date:   Mon Oct 6 11:04:20 2025 +0200

    Remove tokenizer creation from `sft` example script (#4197)

commit 0c2dc14
Author: Albert Villanova del Moral <[email protected]>
Date:   Mon Oct 6 08:31:58 2025 +0200

    Remove custome_container for building the docs (#4198)

commit ced8b33
Author: burtenshaw <[email protected]>
Date:   Mon Oct 6 08:23:11 2025 +0200

    [DOCS/FIX] lora without regrets - fix lr (#4207)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants