Skip to content

Commit c3f9bfa

Browse files
committed
Return full ficus analysis result
1 parent e71cd2f commit c3f9bfa

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

integration-test/Analysis/FicusSpec.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
module Analysis.FicusSpec (spec) where
55

66
import App.Fossa.Ficus.Analyze (analyzeWithFicus)
7-
import App.Fossa.Ficus.Types (FicusSnippetScanResults (..))
7+
import App.Fossa.Ficus.Types (FicusAnalysisResults (..), FicusSnippetScanResults (..))
88
import App.Types (ProjectRevision (..))
99
import Control.Carrier.Diagnostics (runDiagnostics)
1010
import Control.Carrier.Stack (runStack)
@@ -56,9 +56,9 @@ spec = do
5656
case result of
5757
Success _warnings analysisResult -> do
5858
case analysisResult of
59-
Just results -> do
60-
ficusSnippetScanResultsAnalysisId results `shouldSatisfy` (> 0)
61-
Nothing -> do
59+
Just (FicusAnalysisResults{snippetScanResults = Just (FicusSnippetScanResults analysisId)}) -> do
60+
analysisId `shouldSatisfy` (> 0)
61+
_ -> do
6262
-- No snippet scan results returned - this is acceptable for integration testing
6363
True `shouldBe` True
6464
Failure _warnings errors -> do

src/App/Fossa/Analyze.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import App.Fossa.Config.Analyze (
5151
import App.Fossa.Config.Analyze qualified as Config
5252
import App.Fossa.Config.Common (DestinationMeta (..), destinationApiOpts, destinationMetadata)
5353
import App.Fossa.Ficus.Analyze (analyzeWithFicus)
54+
import App.Fossa.Ficus.Types (FicusAnalysisResults (..))
5455
import App.Fossa.FirstPartyScan (runFirstPartyScan)
5556
import App.Fossa.Lernie.Analyze (analyzeWithLernie)
5657
import App.Fossa.Lernie.Types (LernieResults (..))
@@ -361,7 +362,7 @@ analyze cfg = Diag.context "fossa-analyze" $ do
361362
(Config.licenseScanPathFilters vendoredDepsOptions)
362363
(orgSnippetScanSourceCodeRetentionDays =<< orgInfo)
363364
(Config.debugDir cfg)
364-
let ficusResults = join $ resultToMaybe maybeFicusResults
365+
let ficusResults = (snippetScanResults =<<) . join $ resultToMaybe maybeFicusResults
365366

366367
maybeLernieResults <-
367368
Diag.errorBoundaryIO . diagToDebug $

src/App/Fossa/Ficus/Analyze.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ analyzeWithFicus ::
9999
Maybe LicenseScanPathFilters ->
100100
Maybe Int ->
101101
Maybe FilePath -> -- Debug directory (if enabled)
102-
m (Maybe FicusSnippetScanResults)
102+
m (Maybe FicusAnalysisResults)
103103
analyzeWithFicus rootDir apiOpts revision filters snippetScanRetentionDays maybeDebugDir = do
104-
analyzeWithFicusMain rootDir apiOpts revision filters snippetScanRetentionDays maybeDebugDir
104+
Just <$> analyzeWithFicusMain rootDir apiOpts revision filters snippetScanRetentionDays maybeDebugDir
105105

106106
analyzeWithFicusMain ::
107107
( Has Diagnostics sig m
@@ -114,12 +114,12 @@ analyzeWithFicusMain ::
114114
Maybe LicenseScanPathFilters ->
115115
Maybe Int ->
116116
Maybe FilePath -> -- Debug directory (if enabled)
117-
m (Maybe FicusSnippetScanResults)
117+
m FicusAnalysisResults
118118
analyzeWithFicusMain rootDir apiOpts revision filters snippetScanRetentionDays maybeDebugDir = do
119119
logDebugWithTime "Preparing Ficus analysis configuration..."
120120
ficusResults <- runFicus maybeDebugDir ficusConfig
121121
logDebugWithTime "runFicus completed, processing results..."
122-
case ficusResults of
122+
case snippetScanResults ficusResults of
123123
Just results ->
124124
logInfo $ pretty (formatFicusScanSummary results)
125125
Nothing -> logInfo "Ficus analysis completed but no fingerprint findings were found"
@@ -225,7 +225,7 @@ runFicus ::
225225
) =>
226226
Maybe FilePath ->
227227
FicusConfig ->
228-
m (Maybe FicusSnippetScanResults)
228+
m FicusAnalysisResults
229229
runFicus maybeDebugDir ficusConfig = do
230230
logDebugWithTime "About to extract Ficus binary..."
231231
withFicusBinary $ \bin -> do
@@ -282,7 +282,7 @@ runFicus maybeDebugDir ficusConfig = do
282282
logInfo $ pretty (Text.unlines stdErrLines)
283283
logInfo "\n==== END Ficus STDERR ====\n"
284284
else logInfo "[Ficus] Ficus exited successfully"
285-
pure $ snippetScanResults result
285+
pure result
286286
where
287287
currentTimeStamp :: IO String
288288
currentTimeStamp = do

0 commit comments

Comments
 (0)