import Test.Hspec
import Helpers
import qualified ErbSpec
import qualified HieraSpec
import qualified Interpreter.ClassSpec
import qualified Interpreter.CollectorSpec
import qualified Interpreter.EvalSpec
import qualified Interpreter.EvaluateStatementSpec
import qualified Interpreter.Function.AssertPrivateSpec
import qualified Interpreter.Function.DeleteAtSpec
import qualified Interpreter.Function.EachSpec
import qualified Interpreter.Function.JoinKeysToValuesSpec
import qualified Interpreter.Function.LookupSpec
import qualified Interpreter.Function.MergeSpec
import qualified Interpreter.Function.PrefixSpec
import qualified Interpreter.Function.ShellquoteSpec
import qualified Interpreter.Function.SizeSpec
import qualified Interpreter.Function.SprintfSpec
import qualified Interpreter.Function.SuffixSpec
import qualified Interpreter.Function.WithSpec
import qualified Interpreter.IfSpec
import qualified Parser.DT
import qualified Parser.ExprSpec
import qualified Parser.LexerSpec
import qualified PuppetdbSpec
main :: IO ()
main = hspec spec
spec :: Spec
spec = do
describe "Parser" $ do
describe "Data types" $ do
Parser.DT.spec
Parser.ExprSpec.spec
Parser.LexerSpec.spec
describe "Interpreter" $ do
Interpreter.CollectorSpec.spec
Interpreter.ClassSpec.spec
Interpreter.EvalSpec.spec
Interpreter.IfSpec.spec
Interpreter.EvaluateStatementSpec.spec
describe "stdlib functions" $ do
describe "The assert_private function" Interpreter.Function.AssertPrivateSpec.spec
describe "The join_keys_to_values function" Interpreter.Function.JoinKeysToValuesSpec.spec
describe "The merge function" Interpreter.Function.MergeSpec.spec
describe "The size function" Interpreter.Function.SizeSpec.spec
describe "The delete_at function" Interpreter.Function.DeleteAtSpec.spec
describe "puppet functions" $ do
describe "The shellquote function" Interpreter.Function.ShellquoteSpec.spec
describe "The sprintf function" Interpreter.Function.SprintfSpec.spec
describe "The each function" Interpreter.Function.EachSpec.spec
describe "The with function" Interpreter.Function.WithSpec.spec
describe "The lookup function" Interpreter.Function.LookupSpec.spec
describe "The suffix function" Interpreter.Function.SuffixSpec.spec
describe "The prefix function" Interpreter.Function.PrefixSpec.spec
ErbSpec.spec
PuppetdbSpec.spec
HieraSpec.spec