Fix ordering of Arbitrary definitions for GHC 9 compatibility. Taken from upstream: https://github.com/ganeti/ganeti/commit/feab8faa8fe055c89205497e4f277ae4c7b8caad diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs index 97ceb36dca..8d80be9e80 100644 --- a/test/hs/Test/Ganeti/Objects.hs +++ b/test/hs/Test/Ganeti/Objects.hs @@ -93,8 +93,14 @@ instance Arbitrary (Container DataCollectorConfig) where instance Arbitrary BS.ByteString where arbitrary = genPrintableByteString +instance Arbitrary a => Arbitrary (Private a) where + arbitrary = Private <$> arbitrary + $(genArbitrary ''PartialNDParams) +instance Arbitrary (Container J.JSValue) where + arbitrary = return $ GenericContainer Map.empty + instance Arbitrary Node where arbitrary = Node <$> genFQDN <*> genFQDN <*> genFQDN <*> arbitrary <*> arbitrary <*> arbitrary <*> genFQDN @@ -297,10 +303,6 @@ genDisk = genDiskWithChildren 3 -- validation rules. $(genArbitrary ''PartialISpecParams) --- | FIXME: This generates completely random data, without normal --- validation rules. -$(genArbitrary ''PartialIPolicy) - $(genArbitrary ''FilledISpecParams) $(genArbitrary ''MinMaxISpecs) $(genArbitrary ''FilledIPolicy) @@ -309,6 +311,10 @@ $(genArbitrary ''FilledNDParams) $(genArbitrary ''FilledNicParams) $(genArbitrary ''FilledBeParams) +-- | FIXME: This generates completely random data, without normal +-- validation rules. +$(genArbitrary ''PartialIPolicy) + -- | No real arbitrary instance for 'ClusterHvParams' yet. instance Arbitrary ClusterHvParams where arbitrary = return $ GenericContainer Map.empty @@ -331,18 +337,12 @@ instance Arbitrary OsParams where instance Arbitrary Objects.ClusterOsParamsPrivate where arbitrary = (GenericContainer . Map.fromList) <$> arbitrary -instance Arbitrary a => Arbitrary (Private a) where - arbitrary = Private <$> arbitrary - instance Arbitrary ClusterOsParams where arbitrary = (GenericContainer . Map.fromList) <$> arbitrary instance Arbitrary ClusterBeParams where arbitrary = (GenericContainer . Map.fromList) <$> arbitrary -instance Arbitrary IAllocatorParams where - arbitrary = return $ GenericContainer Map.empty - $(genArbitrary ''Cluster) instance Arbitrary ConfigData where diff --git a/test/hs/Test/Ganeti/Query/Language.hs b/test/hs/Test/Ganeti/Query/Language.hs index 04fb8c3898..fa50196f00 100644 --- a/test/hs/Test/Ganeti/Query/Language.hs +++ b/test/hs/Test/Ganeti/Query/Language.hs @@ -59,6 +59,9 @@ import Ganeti.Query.Language instance Arbitrary (Filter FilterField) where arbitrary = genFilter +instance Arbitrary FilterRegex where + arbitrary = genName >>= mkRegex -- a name should be a good regex + -- | Custom 'Filter' generator (top-level), which enforces a -- (sane) limit on the depth of the generated filters. genFilter :: Gen (Filter FilterField) @@ -97,9 +100,6 @@ $(genArbitrary ''QueryTypeLuxi) $(genArbitrary ''ItemType) -instance Arbitrary FilterRegex where - arbitrary = genName >>= mkRegex -- a name should be a good regex - $(genArbitrary ''ResultStatus) $(genArbitrary ''FieldType)