Skip to content

Add test coverage for update-checkout --stash option #72523

@MaxDesiatov

Description

@MaxDesiatov

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

  1. clones the remotes using update-checkout
  2. creates some untracked files in several clones
  3. runs update-checkout with --stash
  4. 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 #71178 (comment)

Metadata

Metadata

Labels

contributor experiencegood first issueGood for newcomerstest suiteArea: test suiteupdate-checkoutArea → utils: the `update-checkout` scriptutilsArea: the build system and other accessory scripts under the "utils" directory

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions