diff options
-rw-r--r-- | erebos.cabal | 3 | ||||
-rw-r--r-- | main/Test.hs | 13 |
2 files changed, 11 insertions, 5 deletions
diff --git a/erebos.cabal b/erebos.cabal index ba00538..0b33141 100644 --- a/erebos.cabal +++ b/erebos.cabal @@ -115,11 +115,10 @@ library Erebos.Storage.Merge Erebos.Sync - -- Used by test tool: - Erebos.Storage.Internal other-modules: Erebos.Flow Erebos.Object.Internal + Erebos.Storage.Internal Erebos.Storage.Platform Erebos.Util diff --git a/main/Test.hs b/main/Test.hs index 628e351..3db50bd 100644 --- a/main/Test.hs +++ b/main/Test.hs @@ -46,7 +46,6 @@ import Erebos.State import Erebos.Storable import Erebos.Storage import Erebos.Storage.Head -import Erebos.Storage.Internal (unsafeStoreRawBytes) import Erebos.Storage.Merge import Erebos.Sync @@ -301,12 +300,20 @@ commands = map (T.pack *** id) cmdStore :: Command cmdStore = do st <- asks tiStorage + pst <- liftIO $ derivePartialStorage st [otype] <- asks tiParams ls <- getLines let cnt = encodeUtf8 $ T.unlines ls - ref <- liftIO $ unsafeStoreRawBytes st $ BL.fromChunks [encodeUtf8 otype, BC.singleton ' ', BC.pack (show $ B.length cnt), BC.singleton '\n', cnt] - cmdOut $ "store-done " ++ show (refDigest ref) + full = BL.fromChunks + [ encodeUtf8 otype + , BC.singleton ' ' + , BC.pack (show $ B.length cnt) + , BC.singleton '\n', cnt + ] + liftIO (copyRef st =<< storeRawBytes pst full) >>= \case + Right ref -> cmdOut $ "store-done " ++ show (refDigest ref) + Left _ -> cmdOut $ "store-failed" cmdLoad :: Command cmdLoad = do |