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.
