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 ...@@ -595,6 +595,7 @@ executable cabal
UnitTests.Distribution.Client.Tar UnitTests.Distribution.Client.Tar
UnitTests.Distribution.Client.Targets UnitTests.Distribution.Client.Targets
UnitTests.Distribution.Client.UserConfig UnitTests.Distribution.Client.UserConfig
UnitTests.Distribution.Client.VCS
UnitTests.Distribution.Solver.Modular.Builder UnitTests.Distribution.Solver.Modular.Builder
UnitTests.Distribution.Solver.Modular.DSL UnitTests.Distribution.Solver.Modular.DSL
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
...@@ -661,6 +662,7 @@ Test-Suite unit-tests ...@@ -661,6 +662,7 @@ Test-Suite unit-tests
UnitTests.Distribution.Client.JobControl UnitTests.Distribution.Client.JobControl
UnitTests.Distribution.Client.IndexUtils.Timestamp UnitTests.Distribution.Client.IndexUtils.Timestamp
UnitTests.Distribution.Client.InstallPlan UnitTests.Distribution.Client.InstallPlan
UnitTests.Distribution.Client.VCS
UnitTests.Distribution.Solver.Modular.Builder UnitTests.Distribution.Solver.Modular.Builder
UnitTests.Distribution.Solver.Modular.RetryLog UnitTests.Distribution.Solver.Modular.RetryLog
UnitTests.Distribution.Solver.Modular.Solver UnitTests.Distribution.Solver.Modular.Solver
......
...@@ -26,6 +26,7 @@ import qualified UnitTests.Distribution.Client.ProjectConfig ...@@ -26,6 +26,7 @@ import qualified UnitTests.Distribution.Client.ProjectConfig
import qualified UnitTests.Distribution.Client.JobControl import qualified UnitTests.Distribution.Client.JobControl
import qualified UnitTests.Distribution.Client.IndexUtils.Timestamp import qualified UnitTests.Distribution.Client.IndexUtils.Timestamp
import qualified UnitTests.Distribution.Client.InstallPlan import qualified UnitTests.Distribution.Client.InstallPlan
import qualified UnitTests.Distribution.Client.VCS
import UnitTests.Options import UnitTests.Options
...@@ -72,6 +73,8 @@ tests mtimeChangeCalibrated = ...@@ -72,6 +73,8 @@ tests mtimeChangeCalibrated =
UnitTests.Distribution.Client.IndexUtils.Timestamp.tests UnitTests.Distribution.Client.IndexUtils.Timestamp.tests
, testGroup "UnitTests.Distribution.Client.InstallPlan" , testGroup "UnitTests.Distribution.Client.InstallPlan"
UnitTests.Distribution.Client.InstallPlan.tests UnitTests.Distribution.Client.InstallPlan.tests
, testGroup "UnitTests.Distribution.Client.VCS" $
UnitTests.Distribution.Client.VCS.tests mtimeChange
] ]
main :: IO () 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