{-# LANGUAGE OverloadedStrings #-} module Main where import SecretBoxProperties (testSecretBox) import AEAD.ChaCha20Poly1305Properties (testAEADChaCha20) import AEAD.ChaCha20Poly1305IETFProperties (testAEADIETF) import AEAD.XChaCha20Poly1305Properties (testAEADXChaCha20) import AEAD.AES256GCMProperties (testAEADAES) import BoxProperties (testBox) import SealedBoxProperties (testSealedBox) import StreamProperties (testStream) import AuthProperties (testAuth) import OneTimeAuthProperties (testOneTimeAuth) import SignProperties (testSign) import HashProperties (testHash) import ScalarMultProperties (testScalarMult) import PasswordProperties (testPassword) import UtilProperties (testUtils) import Crypto.Saltine import Test.Framework runOpts :: RunnerOptions runOpts = mempty { ropt_color_mode = Just ColorAlways , ropt_test_options = Just testOpts } testOpts :: TestOptions testOpts = mempty { topt_maximum_generated_tests = Just 20000 } main :: IO () main = do sodiumInit flip defaultMainWithOpts runOpts [ testUtils, testBox, testSealedBox, testSecretBox, testAEADChaCha20, testAEADIETF, testAEADXChaCha20, testAEADAES, testStream, testAuth, testOneTimeAuth, testSign, testHash, testScalarMult, testPassword ]