On Tue, 7 Jul 2015 at 11:20 'Petr Pudlak' via ganeti-devel <
[email protected]> wrote:

> .. when creating a map to be distributed to the master candidates.
>
> Signed-off-by: Petr Pudlak <[email protected]>
> ---
>  Makefile.am                          |  1 +
>  test/hs/Test/Ganeti/WConfd/Ssconf.hs | 65
> ++++++++++++++++++++++++++++++++++++
>  test/hs/htest.hs                     |  2 ++
>  3 files changed, 68 insertions(+)
>  create mode 100644 test/hs/Test/Ganeti/WConfd/Ssconf.hs
>
> diff --git a/Makefile.am b/Makefile.am
> index 916cddb..d2a8eba 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -1129,6 +1129,7 @@ HS_TEST_SRCS = \
>         test/hs/Test/Ganeti/Utils.hs \
>         test/hs/Test/Ganeti/Utils/MultiMap.hs \
>         test/hs/Test/Ganeti/Utils/Statistics.hs \
> +       test/hs/Test/Ganeti/WConfd/Ssconf.hs \
>         test/hs/Test/Ganeti/WConfd/TempRes.hs
>
>
> diff --git a/test/hs/Test/Ganeti/WConfd/Ssconf.hs
> b/test/hs/Test/Ganeti/WConfd/Ssconf.hs
> new file mode 100644
> index 0000000..53f4427
> --- /dev/null
> +++ b/test/hs/Test/Ganeti/WConfd/Ssconf.hs
> @@ -0,0 +1,65 @@
> +{-# LANGUAGE TemplateHaskell #-}
> +{-# OPTIONS_GHC -fno-warn-orphans #-}
> +
> +{-| Unittests for Ssconf writing
> +
> +-}
> +
> +{-
> +
> +Copyright (C) 2015 Google Inc.
> +All rights reserved.
> +
> +Redistribution and use in source and binary forms, with or without
> +modification, are permitted provided that the following conditions are
> +met:
> +
> +1. Redistributions of source code must retain the above copyright notice,
> +this list of conditions and the following disclaimer.
> +
> +2. Redistributions in binary form must reproduce the above copyright
> +notice, this list of conditions and the following disclaimer in the
> +documentation and/or other materials provided with the distribution.
> +
> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
> +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
> +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
> +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
> +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
> +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
> +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
> +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +-}
> +
> +module Test.Ganeti.WConfd.Ssconf (testWConfd_Ssconf) where
> +
> +import Test.QuickCheck
> +
> +import qualified Data.Map as M
> +import qualified Data.Set as S
> +
> +import Test.Ganeti.Objects ()
> +import Test.Ganeti.TestHelper
> +import Test.Ganeti.TestCommon
> +
> +import Ganeti.Objects (ConfigData)
> +import qualified Ganeti.Ssconf as Ssconf
> +import qualified Ganeti.WConfd.Ssconf as Ssconf
> +
> +-- * Ssconf construction tests
> +
> +hasAllKeys :: Ssconf.SSConf -> Property
> +hasAllKeys ssc =
> +  counterexample "Missing SSConf key in the output" $
> +    M.keysSet (Ssconf.getSSConf ssc) ==? S.fromList [minBound..maxBound]
> +
> +prop_mkSSConf_all_keys :: ConfigData -> Property
> +prop_mkSSConf_all_keys = hasAllKeys . Ssconf.mkSSConf
> +
> +testSuite "WConfd/Ssconf"
> +  [ 'prop_mkSSConf_all_keys
> +  ]
> diff --git a/test/hs/htest.hs b/test/hs/htest.hs
> index 6168077..86d193e 100644
> --- a/test/hs/htest.hs
> +++ b/test/hs/htest.hs
> @@ -95,6 +95,7 @@ import Test.Ganeti.Types
>  import Test.Ganeti.Utils
>  import Test.Ganeti.Utils.MultiMap
>  import Test.Ganeti.Utils.Statistics
> +import Test.Ganeti.WConfd.Ssconf
>  import Test.Ganeti.WConfd.TempRes
>
>  -- | Our default test options, overring the built-in test-framework
> @@ -167,6 +168,7 @@ allTests =
>    , testUtils
>    , testUtils_MultiMap
>    , testUtils_Statistics
> +  , testWConfd_Ssconf
>    , testWConfd_TempRes
>    ]
>
> --
> 2.4.3.573.g4eafbef
>
>
LGTM, thanks
-- 

Helga Velroyen
Software Engineer
[email protected]

Google Germany GmbH
Dienerstraße 12
80331 München

Geschäftsführer: Graham Law, Christine Elizabeth Flores
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

Diese E-Mail ist vertraulich. Wenn Sie nicht der richtige Adressat sind,
leiten Sie diese bitte nicht weiter, informieren Sie den Absender und
löschen Sie die E-Mail und alle Anhänge. Vielen Dank.

This e-mail is confidential. If you are not the right addressee please do
not forward it, please inform the sender, and please erase this e-mail
including any attachments. Thanks.

Reply via email to