diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Changelog
 
+## 0.2.0.1 (Mar 2022)
+
+* Fix the test suite.
+* Allow streamly 0.8.2
+
 ## 0.2.0 (Dec 2021)
 
 * The process in following APIs is now terminated with SIGTERM if an exception
diff --git a/streamly-process.cabal b/streamly-process.cabal
--- a/streamly-process.cabal
+++ b/streamly-process.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                streamly-process
-version:             0.2.0
+version:             0.2.0.1
 synopsis:            Use OS processes as stream transformation functions
 description:
     Run operating system processes as stream source, sink or transformation
@@ -89,7 +89,7 @@
       base              >= 4.8   && < 5
     , process           >= 1.0   && < 1.7
     -- Uses internal APIs
-    , streamly          >= 0.8.1 && < 0.8.2
+    , streamly          == 0.8.1.* || == 0.8.2.*
     , exceptions        >= 0.8   && < 0.11
   if !os(windows)
     build-depends:
@@ -116,7 +116,7 @@
     , directory         >= 1.2.2 && < 1.4
     , process           >= 1.0   && < 1.7
     -- Uses internal APIs
-    , streamly          >= 0.8.1 && < 0.8.2
+    , streamly          == 0.8.1.* || == 0.8.2.*
 
   if flag(fusion-plugin) && !impl(ghc < 8.6)
     build-depends:
@@ -147,4 +147,4 @@
     , process           >= 1.0   && < 1.7
     , QuickCheck        >= 2.10  && < 2.15
     -- Uses internal APIs
-    , streamly          >= 0.8.1 && < 0.8.2
+    , streamly          == 0.8.1.* || == 0.8.2.*
diff --git a/test/Streamly/System/Process.hs b/test/Streamly/System/Process.hs
--- a/test/Streamly/System/Process.hs
+++ b/test/Streamly/System/Process.hs
@@ -77,6 +77,16 @@
 arrayChunkSize :: Int
 arrayChunkSize = 100
 
+interpreterFile :: FilePath
+interpreterArg :: String
+#if mingw32_HOST_OS == 1
+interpreterFile = "cmd.exe"
+interpreterArg = "/c"
+#else
+interpreterFile = "/usr/bin/env"
+interpreterArg = "sh"
+#endif
+
 executableFile :: FilePath
 #if mingw32_HOST_OS == 1
 executableFile = "./test/data/writeTrToError.bat"
@@ -156,7 +166,8 @@
     where
 
     action = do
-        S.drain $ Proc.toBytes' executableFileFail []
+        S.drain $
+             Proc.toBytes' interpreterFile [interpreterArg, executableFileFail]
         return False
 
     failAction (ProcessFailure exitCode) =
@@ -189,7 +200,8 @@
     where
 
     action = do
-        S.drain $ Proc.toChunks' executableFileFail []
+        S.drain $
+             Proc.toChunks' interpreterFile [interpreterArg, executableFileFail]
         return False
 
     failAction (ProcessFailure exitCode) =
@@ -219,7 +231,9 @@
     where
 
     action = do
-        S.drain $ Proc.processBytes executableFileFail [] S.nil
+        S.drain $
+           Proc.processBytes
+               interpreterFile [interpreterArg, executableFileFail] S.nil
         return False
 
     failAction (ProcessFailure exitCode) =
@@ -234,8 +248,8 @@
     action = do
         S.drain $
             Proc.processBytes
-            executableFilePass
-            []
+            interpreterFile
+            [interpreterArg, executableFilePass]
             (S.nilM $ throwM (SimpleError failErrorMessage))
         return False
 
@@ -293,7 +307,9 @@
     where
 
     runProcess = do
-        S.drain $ Proc.processChunks executableFileFail [] S.nil
+        S.drain $
+            Proc.processChunks
+                interpreterFile [interpreterArg, executableFileFail] S.nil
         return False
 
     checkExitCode (ProcessFailure exitCode) = return (exitCode == 1)
@@ -306,8 +322,8 @@
     runProcess = do
         S.drain $
             Proc.processChunks
-            executableFilePass
-            []
+            interpreterFile
+            [interpreterArg, executableFilePass]
             (S.nilM $ throwM (SimpleError failErrorMessage))
         return False
 
@@ -338,8 +354,8 @@
                 inputStream = S.fromList ls
                 outStream = S.lefts $
                     Proc.processBytes'
-                    executableFile
-                    ["[a-z]", "[A-Z]"]
+                    interpreterFile
+                    [interpreterArg, executableFile, "[a-z]", "[A-Z]"]
                     inputStream
 
                 charUpperStrm = S.map toUpper inputStream
@@ -353,7 +369,9 @@
     where
 
     action = do
-        S.drain $ Proc.processBytes' executableFileFail [] S.nil
+        S.drain $
+            Proc.processBytes'
+                interpreterFile [interpreterArg, executableFileFail] S.nil
         return False
 
     failAction (ProcessFailure exitCode) =
@@ -368,8 +386,8 @@
     action = do
         S.drain $
             Proc.processBytes'
-            executableFilePass
-            []
+            interpreterFile
+            [interpreterArg, executableFilePass]
             (S.nilM $ throwM (SimpleError failErrorMessage))
         return False
 
@@ -406,8 +424,8 @@
                 inputStream = S.fromList ls
                 outStream = AS.concat $ S.lefts $
                     Proc.processChunks'
-                    executableFile
-                    ["[a-z]", "[A-Z]"]
+                    interpreterFile
+                    [interpreterArg, executableFile, "[a-z]", "[A-Z]"]
                     (AS.arraysOf arrayChunkSize inputStream)
 
                 charUpperStrm = S.map toUpper inputStream
@@ -421,7 +439,8 @@
     where
 
     action = do
-        S.drain $ Proc.processChunks' executableFileFail [] S.nil
+        S.drain $ Proc.processChunks'
+            interpreterFile  [interpreterArg, executableFileFail] S.nil
         return False
 
     failAction (ProcessFailure exitCode) =
@@ -436,8 +455,8 @@
     action = do
         S.drain $
             Proc.processChunks'
-            executableFilePass
-            []
+            interpreterFile
+            [interpreterArg, executableFilePass]
             (S.nilM $ throwM (SimpleError failErrorMessage))
         return False
 
