diff --git a/dist/build/test-http-mediaStub/test-http-mediaStub-tmp/test-http-mediaStub.hs b/dist/build/test-http-mediaStub/test-http-mediaStub-tmp/test-http-mediaStub.hs
deleted file mode 100644
--- a/dist/build/test-http-mediaStub/test-http-mediaStub-tmp/test-http-mediaStub.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module Main ( main ) where
-import Distribution.Simple.Test.LibV09 ( stubMain )
-import Tests ( tests )
-main :: IO ()
-main = stubMain tests
diff --git a/http-media.cabal b/http-media.cabal
--- a/http-media.cabal
+++ b/http-media.cabal
@@ -1,5 +1,5 @@
 name:          http-media
-version:       0.6.1
+version:       0.6.2
 license:       MIT
 license-file:  LICENSE
 author:        Timothy Jones
@@ -39,13 +39,16 @@
   The API is agnostic to your choice of server.
 
 library
-  hs-source-dirs: src
+  default-language: Haskell2010
 
   ghc-options: -Wall
 
-  default-language: Haskell2010
+  hs-source-dirs:
+    src
+
   default-extensions:
     OverloadedStrings
+
   other-extensions:
     CPP
 
@@ -55,11 +58,13 @@
     Network.HTTP.Media.Language
     Network.HTTP.Media.MediaType
     Network.HTTP.Media.RenderHeader
+
   other-modules:
     Network.HTTP.Media.Language.Internal
     Network.HTTP.Media.MediaType.Internal
     Network.HTTP.Media.Quality
     Network.HTTP.Media.Utils
+
   build-depends:
     base             >= 4.6  && < 5.0,
     bytestring       >= 0.10 && < 0.11,
@@ -67,17 +72,24 @@
     containers       >= 0.5  && < 0.6
 
 test-suite test-http-media
-  type:           detailed-0.9
-  hs-source-dirs: src test
+  type:    exitcode-stdio-1.0
+  main-is: Test.hs
 
   default-language: Haskell2010
+
+  ghc-options: -Wall -Werror
+
+  hs-source-dirs:
+    src
+    test
+
   default-extensions:
     OverloadedStrings
+
   other-extensions:
     CPP
     TupleSections
 
-  test-module: Tests
   other-modules:
     Network.HTTP.Media
     Network.HTTP.Media.Accept
@@ -96,16 +108,14 @@
     Network.HTTP.Media.Tests
     Network.HTTP.Media.Utils
 
-  ghc-options: -Wall -Werror
-
   build-depends:
-    base                  >= 4.6  && < 5.0,
-    bytestring            >= 0.10 && < 0.11,
-    Cabal                 >= 1.16 && < 1.23,
-    cabal-test-quickcheck >= 0.1  && < 0.2,
-    case-insensitive      >= 1.0  && < 1.3,
-    containers            >= 0.5  && < 0.6,
-    QuickCheck            >= 2.6  && < 2.9
+    base                       >= 4.6  && < 5.0,
+    bytestring                 >= 0.10 && < 0.11,
+    case-insensitive           >= 1.0  && < 1.3,
+    containers                 >= 0.5  && < 0.6,
+    QuickCheck                 >= 2.6  && < 2.9,
+    test-framework             >= 0.8  && < 0.9,
+    test-framework-quickcheck2 >= 0.3  && < 0.4
 
 source-repository head
   type:     git
diff --git a/test/Network/HTTP/Media/Accept/Tests.hs b/test/Network/HTTP/Media/Accept/Tests.hs
--- a/test/Network/HTTP/Media/Accept/Tests.hs
+++ b/test/Network/HTTP/Media/Accept/Tests.hs
@@ -2,8 +2,9 @@
 module Network.HTTP.Media.Accept.Tests (tests) where
 
 ------------------------------------------------------------------------------
-import Control.Monad                     (join, liftM, liftM2)
-import Distribution.TestSuite.QuickCheck
+import Control.Monad                        (join, liftM, liftM2)
+import Test.Framework                       (Test, testGroup)
+import Test.Framework.Providers.QuickCheck2 (testProperty)
 
 ------------------------------------------------------------------------------
 import Network.HTTP.Media.Accept
diff --git a/test/Network/HTTP/Media/Language/Tests.hs b/test/Network/HTTP/Media/Language/Tests.hs
--- a/test/Network/HTTP/Media/Language/Tests.hs
+++ b/test/Network/HTTP/Media/Language/Tests.hs
@@ -8,11 +8,12 @@
 
 ------------------------------------------------------------------------------
 #if !MIN_VERSION_base(4, 8, 0)
-import Control.Applicative               ((<$>))
+import Control.Applicative                  ((<$>))
 #endif
-import Control.Monad                     (join)
-import Data.String                       (fromString)
-import Distribution.TestSuite.QuickCheck
+import Control.Monad                        (join)
+import Data.String                          (fromString)
+import Test.Framework                       (Test, testGroup)
+import Test.Framework.Providers.QuickCheck2 (testProperty)
 
 ------------------------------------------------------------------------------
 import Network.HTTP.Media.Accept
diff --git a/test/Network/HTTP/Media/MediaType/Tests.hs b/test/Network/HTTP/Media/MediaType/Tests.hs
--- a/test/Network/HTTP/Media/MediaType/Tests.hs
+++ b/test/Network/HTTP/Media/MediaType/Tests.hs
@@ -6,12 +6,13 @@
 import qualified Data.Map              as Map
 
 ------------------------------------------------------------------------------
-import Control.Monad                     (join, liftM)
-import Data.CaseInsensitive              (foldedCase)
-import Data.String                       (fromString)
-import Data.Maybe                        (isNothing)
-import Data.Monoid                       ((<>))
-import Distribution.TestSuite.QuickCheck
+import Control.Monad                        (join, liftM)
+import Data.CaseInsensitive                 (foldedCase)
+import Data.String                          (fromString)
+import Data.Maybe                           (isNothing)
+import Data.Monoid                          ((<>))
+import Test.Framework                       (Test, testGroup)
+import Test.Framework.Providers.QuickCheck2 (testProperty)
 
 ------------------------------------------------------------------------------
 import Network.HTTP.Media.Accept
diff --git a/test/Network/HTTP/Media/Tests.hs b/test/Network/HTTP/Media/Tests.hs
--- a/test/Network/HTTP/Media/Tests.hs
+++ b/test/Network/HTTP/Media/Tests.hs
@@ -5,16 +5,17 @@
 
 ------------------------------------------------------------------------------
 #if !MIN_VERSION_base(4, 8, 0)
-import Control.Applicative               ((<$>), (<*>))
+import Control.Applicative                  ((<$>), (<*>))
 #endif
-import Control.Monad                     ((>=>), replicateM)
-import Data.ByteString                   (ByteString)
-import Data.Foldable                     (foldlM)
-import Data.Map                          (empty)
-import Data.Maybe                        (isNothing, listToMaybe)
-import Data.Monoid                       ((<>))
-import Data.Word                         (Word16)
-import Distribution.TestSuite.QuickCheck
+import Control.Monad                        ((>=>), replicateM)
+import Data.ByteString                      (ByteString)
+import Data.Foldable                        (foldlM)
+import Data.Map                             (empty)
+import Data.Maybe                           (isNothing, listToMaybe)
+import Data.Monoid                          ((<>))
+import Data.Word                            (Word16)
+import Test.Framework                       (Test, testGroup)
+import Test.Framework.Providers.QuickCheck2 (testProperty)
 import Test.QuickCheck
 
 ------------------------------------------------------------------------------
diff --git a/test/Test.hs b/test/Test.hs
new file mode 100644
--- /dev/null
+++ b/test/Test.hs
@@ -0,0 +1,21 @@
+------------------------------------------------------------------------------
+module Main (main) where
+
+------------------------------------------------------------------------------
+import Test.Framework (defaultMain, testGroup)
+
+------------------------------------------------------------------------------
+import qualified Network.HTTP.Media.Tests           as Media
+import qualified Network.HTTP.Media.Accept.Tests    as Accept
+import qualified Network.HTTP.Media.MediaType.Tests as MediaType
+import qualified Network.HTTP.Media.Language.Tests  as Language
+
+
+------------------------------------------------------------------------------
+main :: IO ()
+main = defaultMain
+    [ testGroup "MediaType" MediaType.tests
+    , testGroup "Accept"    Accept.tests
+    , testGroup "Media"     Media.tests
+    , testGroup "Language"  Language.tests
+    ]
diff --git a/test/Tests.hs b/test/Tests.hs
deleted file mode 100644
--- a/test/Tests.hs
+++ /dev/null
@@ -1,21 +0,0 @@
-------------------------------------------------------------------------------
-module Tests (tests) where
-
-------------------------------------------------------------------------------
-import Distribution.TestSuite
-
-------------------------------------------------------------------------------
-import qualified Network.HTTP.Media.Tests           as Media
-import qualified Network.HTTP.Media.Accept.Tests    as Accept
-import qualified Network.HTTP.Media.MediaType.Tests as MediaType
-import qualified Network.HTTP.Media.Language.Tests  as Language
-
-
-------------------------------------------------------------------------------
-tests :: IO [Test]
-tests = return
-    [ testGroup "MediaType" MediaType.tests
-    , testGroup "Accept"    Accept.tests
-    , testGroup "Media"     Media.tests
-    , testGroup "Language"  Language.tests
-    ]
