diff --git a/Test.hs b/Test.hs
--- a/Test.hs
+++ b/Test.hs
@@ -69,6 +69,12 @@
     exePath <- getProgName
 #endif
     case flip lookup (fakes ++ mains) =<< listToMaybe xs of
+        _ | null xs -> do
+            putStrLn "******************************************************************"
+            putStrLn "** Running shake test suite, run with '--help' to see arguments **"
+            putStrLn "******************************************************************"
+            withArgs ["test"] main
+            withArgs ["random","test","3m"] main
         Nothing -> putStrLn $ unlines
             ["Welcome to the Shake demo"
             ,""
diff --git a/shake.cabal b/shake.cabal
--- a/shake.cabal
+++ b/shake.cabal
@@ -1,7 +1,7 @@
-cabal-version:      >= 1.8
+cabal-version:      >= 1.10
 build-type:         Simple
 name:               shake
-version:            0.10.7
+version:            0.10.8
 license:            BSD3
 license-file:       LICENSE
 category:           Development
@@ -63,17 +63,14 @@
 
 source-repository head
     type:     git
-    location: git://github.com/ndmitchell/shake.git
-
-flag testprog
-    default: False
-    description: Build the test program
+    location: https://github.com/ndmitchell/shake.git
 
 flag portable
     default: False
     description: Obtain FileTime using portable functions
 
 library
+    default-language: Haskell2010
     build-depends:
         base == 4.*,
         old-time,
@@ -94,7 +91,7 @@
         cpp-options: -DPORTABLE
     else
         if !os(windows)
-            build-depends: unix >= 2.6
+            build-depends: unix >= 2.5.1
 
     exposed-modules:
         Development.Shake
@@ -133,6 +130,7 @@
 
 
 executable shake
+    default-language: Haskell2010
     main-is: Main.hs
     ghc-options: -threaded -rtsopts "-with-rtsopts=-I0 -qg -qb"
     build-depends:
@@ -155,7 +153,7 @@
         cpp-options: -DPORTABLE
     else
         if !os(windows)
-            build-depends: unix >= 2.6
+            build-depends: unix >= 2.5.1
 
     other-modules:
         Development.Make.All
@@ -170,13 +168,11 @@
         Start
 
 
-executable shake-test
+test-suite shake-test
+    default-language: Haskell2010
+    type: exitcode-stdio-1.0
     main-is: Test.hs
-    if flag(testprog)
-        buildable: True
-    else
-        buildable: False
-    ghc-options: -threaded -rtsopts
+    ghc-options: -rtsopts
     build-depends:
         base == 4.*,
         old-time,
@@ -197,7 +193,7 @@
         cpp-options: -DPORTABLE
     else
         if !os(windows)
-            build-depends: unix >= 2.6
+            build-depends: unix >= 2.5.1
 
     other-modules:
         Development.Make.All
