40 |
40 |
|
41 |
41 |
{-# ANN module "HLint: ignore Use camelCase" #-}
|
42 |
42 |
|
43 |
|
-- | Function for testing whether a file is parsed correctly.
|
44 |
|
testFile :: String -> DRBDStatus -> Assertion
|
45 |
|
testFile fileName expectedContent = do
|
46 |
|
fileContent <- readTestData fileName
|
47 |
|
case A.parseOnly (drbdStatusParser []) $ pack fileContent of
|
48 |
|
Left msg -> assertFailure $ "Parsing failed: " ++ msg
|
49 |
|
Right obtained -> assertEqual fileName expectedContent obtained
|
50 |
|
|
51 |
43 |
-- | Test a DRBD 8.0 file with an empty line inside.
|
52 |
44 |
case_drbd80_emptyline :: Assertion
|
53 |
|
case_drbd80_emptyline = testFile "proc_drbd80-emptyline.txt" $
|
54 |
|
DRBDStatus
|
|
45 |
case_drbd80_emptyline = testParser (drbdStatusParser [])
|
|
46 |
"proc_drbd80-emptyline.txt" $ DRBDStatus
|
55 |
47 |
( VersionInfo (Just "8.0.12") (Just "86") (Just "86") Nothing
|
56 |
48 |
(Just "5c9f89594553e32adb87d9638dce591782f947e3")
|
57 |
49 |
(Just "root@node1.example.com, 2009-05-22 12:47:52")
|
... | ... | |
72 |
64 |
|
73 |
65 |
-- | Test a DRBD 8.0 file with an empty version.
|
74 |
66 |
case_drbd80_emptyversion :: Assertion
|
75 |
|
case_drbd80_emptyversion = testFile "proc_drbd80-emptyversion.txt" $
|
76 |
|
DRBDStatus
|
|
67 |
case_drbd80_emptyversion = testParser (drbdStatusParser [])
|
|
68 |
"proc_drbd80-emptyversion.txt" $ DRBDStatus
|
77 |
69 |
( VersionInfo Nothing Nothing Nothing Nothing
|
78 |
70 |
(Just "5c9f89594553e32adb87d9638dce591782f947e3")
|
79 |
71 |
(Just "root@node1.example.com, 2009-05-22 12:47:52")
|
... | ... | |
94 |
86 |
|
95 |
87 |
-- | Test a DRBD 8.4 file with an ongoing synchronization.
|
96 |
88 |
case_drbd84_sync :: Assertion
|
97 |
|
case_drbd84_sync = testFile "proc_drbd84_sync.txt" $
|
|
89 |
case_drbd84_sync = testParser (drbdStatusParser []) "proc_drbd84_sync.txt" $
|
98 |
90 |
DRBDStatus
|
99 |
91 |
( VersionInfo (Just "8.4.2") (Just "1") (Just "86-101") Nothing
|
100 |
92 |
(Just "7ad5f850d711223713d6dcadc3dd48860321070c")
|
... | ... | |
122 |
114 |
|
123 |
115 |
-- | Test a DRBD 8.4 file.
|
124 |
116 |
case_drbd84 :: Assertion
|
125 |
|
case_drbd84 = testFile "proc_drbd84.txt" $
|
|
117 |
case_drbd84 = testParser (drbdStatusParser []) "proc_drbd84.txt" $
|
126 |
118 |
DRBDStatus
|
127 |
119 |
( VersionInfo (Just "8.4.2") (Just "1") (Just "86-101") Nothing
|
128 |
120 |
(Just "7ad5f850d711223713d6dcadc3dd48860321070c")
|
... | ... | |
173 |
165 |
|
174 |
166 |
-- | Test a DRBD 8.3 file with a NULL caracter inside.
|
175 |
167 |
case_drbd83_sync_krnl2_6_39 :: Assertion
|
176 |
|
case_drbd83_sync_krnl2_6_39 = testFile "proc_drbd83_sync_krnl2.6.39.txt" $
|
177 |
|
DRBDStatus
|
|
168 |
case_drbd83_sync_krnl2_6_39 = testParser (drbdStatusParser [])
|
|
169 |
"proc_drbd83_sync_krnl2.6.39.txt" $ DRBDStatus
|
178 |
170 |
( VersionInfo (Just "8.3.1") (Just "88") (Just "86-89") Nothing
|
179 |
171 |
(Just "fd40f4a8f9104941537d1afc8521e584a6d3003c")
|
180 |
172 |
(Just "phil@fat-tyre, 2009-03-27 12:19:49")
|
... | ... | |
217 |
209 |
|
218 |
210 |
-- | Test a DRBD 8.3 file with an ongoing synchronization.
|
219 |
211 |
case_drbd83_sync :: Assertion
|
220 |
|
case_drbd83_sync = testFile "proc_drbd83_sync.txt" $
|
|
212 |
case_drbd83_sync = testParser (drbdStatusParser []) "proc_drbd83_sync.txt" $
|
221 |
213 |
DRBDStatus
|
222 |
214 |
( VersionInfo (Just "8.3.1") (Just "88") (Just "86-89") Nothing
|
223 |
215 |
(Just "fd40f4a8f9104941537d1afc8521e584a6d3003c")
|
... | ... | |
262 |
254 |
-- | Test a DRBD 8.3 file not from git sources, with an ongoing synchronization
|
263 |
255 |
-- and the "want" field
|
264 |
256 |
case_drbd83_sync_want :: Assertion
|
265 |
|
case_drbd83_sync_want = testFile "proc_drbd83_sync_want.txt" $
|
266 |
|
DRBDStatus
|
|
257 |
case_drbd83_sync_want = testParser (drbdStatusParser [])
|
|
258 |
"proc_drbd83_sync_want.txt" $ DRBDStatus
|
267 |
259 |
( VersionInfo (Just "8.3.11") (Just "88") (Just "86-96")
|
268 |
260 |
(Just "2D876214BAAD53B31ADC1D6")
|
269 |
261 |
Nothing Nothing
|
... | ... | |
284 |
276 |
|
285 |
277 |
-- | Test a DRBD 8.3 file.
|
286 |
278 |
case_drbd83 :: Assertion
|
287 |
|
case_drbd83 = testFile "proc_drbd83.txt" $
|
|
279 |
case_drbd83 = testParser (drbdStatusParser []) "proc_drbd83.txt" $
|
288 |
280 |
DRBDStatus
|
289 |
281 |
( VersionInfo (Just "8.3.1") (Just "88") (Just "86-89")
|
290 |
282 |
Nothing
|
... | ... | |
352 |
344 |
|
353 |
345 |
-- | Test a DRBD 8.0 file with a missing device.
|
354 |
346 |
case_drbd8 :: Assertion
|
355 |
|
case_drbd8 = testFile "proc_drbd8.txt" $
|
|
347 |
case_drbd8 = testParser (drbdStatusParser []) "proc_drbd8.txt" $
|
356 |
348 |
DRBDStatus
|
357 |
349 |
( VersionInfo (Just "8.0.12") (Just "86") (Just "86") Nothing
|
358 |
350 |
(Just "5c9f89594553e32adb87d9638dce591782f947e3")
|