Commit 9bcd5e20 authored by Duncan Coutts's avatar Duncan Coutts Committed by Alexis Williams
Browse files

Add QC tests for the VCS abstraction

This is a hopefully rather comprehensive approach: we generate an
arbitrary description of how to make a repo, and model what content we
would expect for every tag/commit. Then we can compare with executing
the description for the real VCS and comparing the actual file content
for any tag/commit.

This is then the basis for checking for the various VCS drivers that we
can (construct and) clone and sync repos properly. In particular for
syncing this gives some confidence that we can sync for any plausible
cached previous repo state.
parent c738ddd1
......@@ -595,6 +595,7 @@ executable cabal
UnitTests.Distribution.Client.Tar
UnitTests.Distribution.Client.Targets
UnitTests.Distribution.Client.UserConfig
UnitTests.Distribution.Client.VCS
UnitTests.Distribution.Solver.Modular.Builder
UnitTests.Distribution.Solver.Modular.DSL
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
......@@ -661,6 +662,7 @@ Test-Suite unit-tests
UnitTests.Distribution.Client.JobControl
UnitTests.Distribution.Client.IndexUtils.Timestamp
UnitTests.Distribution.Client.InstallPlan
UnitTests.Distribution.Client.VCS
UnitTests.Distribution.Solver.Modular.Builder
UnitTests.Distribution.Solver.Modular.RetryLog
UnitTests.Distribution.Solver.Modular.Solver
......
......@@ -26,6 +26,7 @@ import qualified UnitTests.Distribution.Client.ProjectConfig
import qualified UnitTests.Distribution.Client.JobControl
import qualified UnitTests.Distribution.Client.IndexUtils.Timestamp
import qualified UnitTests.Distribution.Client.InstallPlan
import qualified UnitTests.Distribution.Client.VCS
import UnitTests.Options
......@@ -72,6 +73,8 @@ tests mtimeChangeCalibrated =
UnitTests.Distribution.Client.IndexUtils.Timestamp.tests
, testGroup "UnitTests.Distribution.Client.InstallPlan"
UnitTests.Distribution.Client.InstallPlan.tests
, testGroup "UnitTests.Distribution.Client.VCS" $
UnitTests.Distribution.Client.VCS.tests mtimeChange
]
main :: IO ()
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment