@@ -14,6 +14,8 @@ import GHC.Generics (Generic)
1414import Data.Set (Set )
1515import Data.Text (Text )
1616import System.Nix.StorePath (StoreDir , StorePath , StorePathName , InvalidPathError )
17+ import Test.QuickCheck (Arbitrary )
18+ import Test.QuickCheck.Arbitrary.Generic (GenericArbitrary (.. ))
1719
1820import qualified Data.Set
1921import qualified Data.Text
@@ -24,11 +26,17 @@ data OutputsSpec =
2426 | OutputsSpec_Names (Set StorePathName )
2527 deriving (Eq , Generic , Ord , Show )
2628
29+ deriving via GenericArbitrary OutputsSpec
30+ instance Arbitrary OutputsSpec
31+
2732data DerivedPath =
2833 DerivedPath_Opaque StorePath
2934 | DerivedPath_Built StorePath OutputsSpec
3035 deriving (Eq , Generic , Ord , Show )
3136
37+ deriving via GenericArbitrary DerivedPath
38+ instance Arbitrary DerivedPath
39+
3240data ParseOutputsError =
3341 ParseOutputsError_InvalidPath InvalidPathError
3442 | ParseOutputsError_NoNames
@@ -62,13 +70,13 @@ parseDerivedPath
6270 -> Either ParseOutputsError DerivedPath
6371parseDerivedPath root p =
6472 case Data.Text. breakOn " !" p of
65- (s,r) ->
73+ (s, r) ->
6674 if Data.Text. null r
6775 then DerivedPath_Opaque
6876 <$> (convertError $ System.Nix.StorePath. parsePathFromText root s)
6977 else DerivedPath_Built
7078 <$> (convertError $ System.Nix.StorePath. parsePathFromText root s)
71- <*> parseOutputsSpec r
79+ <*> parseOutputsSpec ( Data.Text. tail r)
7280
7381derivedPathToText :: StoreDir -> DerivedPath -> Text
7482derivedPathToText root = \ case
0 commit comments