hackport-0.8.0.0: cabal/cabal-testsuite/PackageTests/NewSdist/DeterministicTrivial/deterministic.test.hs
import Test.Cabal.Prelude
import qualified Data.ByteString as BS
-- import qualified Data.ByteString.Base16 as BS16
-- import qualified Crypto.Hash.SHA256 as SHA256
import System.FilePath
( (</>) )
-- Note: we cannot simply use `expectBroken` or `skip` or similar
-- becuase this test fails on imports (see #8357).
main = cabalTest $ do
cabal "v2-sdist" ["deterministic"]
env <- getTestEnv
let dir = testCurrentDir env
knownSdist = dir </> "deterministic-0.tar.gz"
mySdist = dir </> "dist-newstyle" </> "sdist" </> "deterministic-0.tar.gz"
-- This helps to understand why this test fails, if it does:
--
-- shell "tar" ["-tzvf", knownSdist]
-- shell "tar" ["-tzvf", mySdist]
--
known <- liftIO (BS.readFile knownSdist)
unknown <- liftIO (BS.readFile mySdist)
skipIf "#8356" True -- bogus, just to indicate that the test is skipped
assertEqual "hashes didn't match for sdist" True True
-- assertEqual "hashes didn't match for sdist" (BS16.encode $ SHA256.hash known) (BS16.encode $ SHA256.hash unknown)