Add test coverage for `update-checkout --stash` option
#72.523 geöffnet am 22. März 2024
Repository-Metriken
- Stars
- (69.989 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 8T 17h) (510 gemergte PRs in 30 T)
Beschreibung
update-checkout has a Python unit test suite at utils/update_checkout/tests. You can run it using utils/update_checkout/run_tests.py or lit + validation-test/Python/update_checkout.swift. The test suite is centered around an intermediary unittest.TestCase subclass from which all the effective test classes inherit. This base class is responsible for setting up and tearing down a mock-up environment consisting of a directory of local remotes and a source root — a directory for their clones. Subclasses define test functions that run update-checkout commands against these mock repositories and perform state checks.
I think a single test function that
- clones the remotes using
update-checkout - creates some untracked files in several clones
- runs
update-checkoutwith--stash - verifies that the untracked files have indeed been stashed and nothing else happened
would good enough for now (the update/clone tests, if any, are really basic anyway). I would place this function in a new subclass in its own file.
Originally posted by @AnthonyLatsis in https://github.com/apple/swift/issues/71178#issuecomment-2015764863