Add test coverage for `update-checkout --stash` option
#72,523 opened on 2024年3月22日
Repository metrics
- Stars
- (69,989 stars)
- PR merge metrics
- (平均マージ 8d 17h) (30d で 510 merged PRs)
説明
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