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

Sparse: Add functional test workflow #78

Closed
derrickstolee opened this issue Aug 20, 2019 · 6 comments
Closed

Sparse: Add functional test workflow #78

derrickstolee opened this issue Aug 20, 2019 · 6 comments
Assignees
Milestone

Comments

@derrickstolee
Copy link
Contributor

Create a functional test set that follows a typical workflow around a sparse enlistment:

  1. scalar clone --sparse=true
  2. Verify root files only.
  3. scalar sparse add
  4. Verify folders are added.

May be combined with #76.

@derrickstolee
Copy link
Contributor Author

@jeschu1: you mentioned you were interested in the functional tests around the sparse workflow. Are you interested in picking this up between your Pri1 stuff?

derrickstolee added a commit that referenced this issue Aug 22, 2019
Uses the code currently at microsoft/git#180. Covers the basics of #8.

* The default `scalar clone` runs `git sparse-checkout init` so the working directory only has files at root.

* Run `git sparse-checkout add <folders.txt` to pipe in a list of folders, and it will expand those files.

Example workflow:

```sh
$ scalar clone https://dev.azure.com/gvfs/ci/_git/ForTests
Clone parameters:
  Repo URL:     https://dev.azure.com/gvfs/ci/_git/ForTests
  Branch:       Default
  Cache Server: Default
  Local Cache:  C:\.scalarCache
  Destination:  C:\_git\test2\ForTests
Authenticating...Succeeded
Querying remote for config...Succeeded
Using cache server: None (https://dev.azure.com/gvfs/ci/_git/ForTests)

WARNING: Unable to validate your Scalar version
Server not configured to provide supported Scalar versions

Cloning...Succeeded
Fetching commits and trees from origin (no cache server)...Succeeded
Validating repo...Succeeded
Mounting...Succeeded

$ cd ForTests/src/
$ ls
AuthoringTests.md  GvFlt_EULA.md  GVFS.sln  License.md  nuget.config  Protocol.md  Readme.md  Settings.StyleCop

$ echo GVFS/GVFS.Common >>../folders.txt
$ echo GVFS/GVFS.UnitTests >>../folders.txt
$ echo GitHooksLoader >>../folders.txt
$ git sparse-checkout add <../folders.txt

$ ls
AuthoringTests.md  GitHooksLoader/  GvFlt_EULA.md  GVFS/  GVFS.sln  License.md  nuget.config  Protocol.md  Readme.md  Settings.StyleCop

$ echo GVFS/GVFS >>../folders2.txt
$ echo GVFS/GVFS.FunctionalTests >>../folders2.txt
$ git sparse-checkout add <../folders2.txt

$ ls
AuthoringTests.md  GitHooksLoader/  GvFlt_EULA.md  GVFS/  GVFS.sln  License.md  nuget.config  Protocol.md  Readme.md  Settings.StyleCop

$ ls GVFS
GVFS/  GVFS.Common/  GVFS.FunctionalTests/  GVFS.UnitTests/  LibGit2Sharp.NativeBinaries.props  ProjectedFSLib.NativeBinaries.props

$ git sparse-checkout list
/
/GVFS/
/GVFS/GVFS/*
/GVFS/GVFS.Common/*
/GVFS/GVFS.FunctionalTests/*
/GVFS/GVFS.UnitTests/*
/GitHooksLoader/*

```

I spun up a few remaining issues for follow-up work: #76, #77, #78.
@jeschu1 jeschu1 self-assigned this Aug 22, 2019
@jeschu1
Copy link
Member

jeschu1 commented Aug 22, 2019

Are you interested in picking this up between your Pri1 stuff?

Yes! This is seems like a good one for me help on :-)

@derrickstolee derrickstolee modified the milestones: Demo, MVP Aug 28, 2019
@wilbaker
Copy link
Member

@derrickstolee @jrbriggs I was thinking that we should also add some functional tests where watchman is installed/configured. Would you like to use this issue for that or create a separate one?

@derrickstolee
Copy link
Contributor Author

@derrickstolee @jrbriggs I was thinking that we should also add some functional tests where watchman is installed/configured. Would you like to use this issue for that or create a separate one?

A separate issue, probably. And I would guess that we should install Watchman as part of the mac functional tests to start.

@wilbaker
Copy link
Member

A separate issue, probably. And I would guess that we should install Watchman as part of the mac functional tests to start.

Sounds good, I filed #119 for this.

@derrickstolee
Copy link
Contributor Author

Resolved by #99.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants