@@ -19,7 +19,7 @@ import Test.Smoke.Paths
1919import Test.Smoke.Types
2020
2121blessResult :: ResolvedPath Dir -> TestResult -> IO TestResult
22- blessResult _ (TestResult TestPlan {planTest = test} (EqualityFailure _ (Status actualStatus)) _ _ _) =
22+ blessResult _ (TestResult TestPlan {planTest = test} (EqualityFailure _ (Actual ( Status actualStatus) )) _ _ _) =
2323 failed test $ CouldNotBlessInlineFixture " status" (Text. pack (show actualStatus))
2424blessResult location result@ (TestResult TestPlan {planTest = test} _ stdOut stdErr files) =
2525 do
@@ -40,6 +40,7 @@ blessResult location result@(TestResult TestPlan {planTest = test} _ stdOut stdE
4040 writeFixture Nothing _ before =
4141 return before
4242 writeFixture (Just (path, text)) makeAfter before = do
43+ createParent (location </> path)
4344 writeToPath (location </> path) text
4445 return $ makeAfter AssertionSuccess before
4546blessResult _ result = return result
@@ -57,13 +58,17 @@ serialize outputs (AssertionFailure result) =
5758 throwIO $ CouldNotBlessWithMultipleValues (fixtureName @ a )
5859
5960serializeFailure :: forall a . FixtureType a => TestOutput a -> AssertionFailures a -> IO (Maybe (RelativePath File , Text ))
60- serializeFailure (TestOutput _ (FileLocation path)) (SingleAssertionFailure (AssertionFailureDiff _ actual)) =
61+ serializeFailure (TestOutput _ (FileLocation path)) (SingleAssertionFailure (AssertionFailureDiff _ ( Actual actual) )) =
6162 return $ Just (path, serializeFixture actual)
62- serializeFailure (TestOutput _ (Inline _)) (SingleAssertionFailure (AssertionFailureDiff _ actual)) =
63+ serializeFailure (TestOutput _ (Inline _)) (SingleAssertionFailure (AssertionFailureDiff _ ( Actual actual) )) =
6364 throwIO $ CouldNotBlessInlineFixture (fixtureName @ a ) (serializeFixture actual)
64- serializeFailure (TestOutput _ _) (SingleAssertionFailure (AssertionFailureContains _ actual)) =
65+ serializeFailure (TestOutput _ _) (SingleAssertionFailure (AssertionFailureContains _ ( Actual actual) )) =
6566 throwIO $ CouldNotBlessContainsAssertion (fixtureName @ a ) (serializeFixture actual)
66- serializeFailure (TestOutput _ _) (SingleAssertionFailure (AssertionFailureFileError _)) =
67+ serializeFailure (TestOutput _ (FileLocation path)) (SingleAssertionFailure (AssertionFailureExpectedFileError _ (Actual actual))) =
68+ return $ Just (path, serializeFixture actual)
69+ serializeFailure (TestOutput _ (Inline _)) (SingleAssertionFailure (AssertionFailureExpectedFileError _ (Actual actual))) =
70+ throwIO $ CouldNotBlessInlineFixture (fixtureName @ a ) (serializeFixture actual)
71+ serializeFailure (TestOutput _ _) (SingleAssertionFailure (AssertionFailureActualFileError _)) =
6772 return Nothing
6873serializeFailure _ (MultipleAssertionFailures _) =
6974 throwIO $ CouldNotBlessWithMultipleValues (fixtureName @ a )
0 commit comments