Skip to content

Commit

Permalink
graceful failure
Browse files Browse the repository at this point in the history
  • Loading branch information
connorjclark committed Feb 5, 2025
1 parent 0e299f1 commit a4d240c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
13 changes: 8 additions & 5 deletions core/audits/insights/insight-audit.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,17 @@ import {Audit} from '../audit.js';
/**
* @param {LH.Artifacts} artifacts
* @param {LH.Audit.Context} context
* @return {Promise<import('@paulirish/trace_engine/models/trace/insights/types.js').InsightSet>}
* @return {Promise<import('@paulirish/trace_engine/models/trace/insights/types.js').InsightSet|undefined>}
*/
async function getInsightSet(artifacts, context) {
const trace = artifacts.traces[Audit.DEFAULT_PASS];

const processedTrace = await ProcessedTrace.request(trace, context);
const traceEngineResult = await TraceEngineResult.request({trace}, context);

const navigationId = processedTrace.timeOriginEvt.args.data?.navigationId;
const key = navigationId ?? NO_NAVIGATION;
const insights = traceEngineResult.insights.get(key);
if (!insights) throw new Error('No navigations insights found');

return insights;
return traceEngineResult.insights.get(key);
}

/**
Expand All @@ -39,6 +36,12 @@ async function getInsightSet(artifacts, context) {
*/
async function adaptInsightToAuditProduct(artifacts, context, insightName, createDetails) {
const insights = await getInsightSet(artifacts, context);
if (!insights) {
return {
score: null,
};
}

const insight = insights.model[insightName];
const details = createDetails(insight);
return {
Expand Down
4 changes: 2 additions & 2 deletions core/test/scenarios/api-test-pptr.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ describe('Individual modes API', function() {
server.baseDir = `${LH_ROOT}/core/test/fixtures/user-flows/snapshot-basic`;
});

it('should compute ConsoleMessage results across a span of time', async () => {
it.only('should compute ConsoleMessage results across a span of time', async () => {
const run = await api.startTimespan(state.page, {
config: {
extends: 'lighthouse:default',
Expand Down Expand Up @@ -107,7 +107,7 @@ describe('Individual modes API', function() {
expect(notApplicableAudits.map(audit => audit.id).sort()).toMatchSnapshot();
expect(notApplicableAudits.map(audit => audit.id)).not.toContain('total-blocking-time');

expect(erroredAudits).toHaveLength(0);
expect(erroredAudits).toStrictEqual([]);
expect(failedAudits.map(audit => audit.id)).toContain('errors-in-console');

const errorsInConsole = lhr.audits['errors-in-console'];
Expand Down

0 comments on commit a4d240c

Please sign in to comment.