Skip to content

Reach and require 100% function coverage - #2821

Merged
jviotti merged 3 commits into
mainfrom
require-cov-100
Sep 13, 2026
Merged

jviotti merged 3 commits into
mainfrom
require-cov-100

Conversation

@jviotti

@jviotti jviotti commented Sep 13, 2026

Copy link
Copy Markdown
Member

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 2 files

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread contrib/website.sh Outdated
Comment thread contrib/website.sh Outdated

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/gcc)

Details
Benchmark suite Current: 9594aac Previous: ed9cd9c Ratio
JOSE_VerifySignature_RS256 22323.026569129128 ns/iter 18757.254686576816 ns/iter 1.19
JOSE_VerifySignature_ES512 581420.2911813537 ns/iter 428959.3319070901 ns/iter 1.36
GZIP_Compress_ISO_Language_Set_3_Locations 53979663.461540475 ns/iter 23545785.333333433 ns/iter 2.29
GZIP_Decompress_ISO_Language_Set_3_Locations 4087460.368421287 ns/iter 3217189.138888865 ns/iter 1.27
GZIP_Compress_ISO_Language_Set_3_Schema 2613333.696629266 ns/iter 1591687.3197278662 ns/iter 1.64
GZIP_Decompress_ISO_Language_Set_3_Schema 382220.23702895927 ns/iter 303867.01805674453 ns/iter 1.26
HTML_Build_Table_100000 53648991.83333212 ns/iter 43812949.49999888 ns/iter 1.22
HTML_Render_Table_100000 1750688.7772151744 ns/iter 2678740.0881225364 ns/iter 0.65
JSONLD_Catalog_Annotation_List_Populate 684599.5763209508 ns/iter 630081.40435606 ns/iter 1.09
JSONLD_Catalog_Materialize 3600530.8963730847 ns/iter 2799845.8542509773 ns/iter 1.29
JSONL_Parse_Large 10048357.914286043 ns/iter 7707208.967033026 ns/iter 1.30
JSONL_Parse_Large_GZIP 11459065.229509119 ns/iter 8863635.911392136 ns/iter 1.29
URITemplateRouter_Create 21296.282812218302 ns/iter 13852.56935528297 ns/iter 1.54
URITemplateRouter_Match 155.88633372307063 ns/iter 135.4218575989581 ns/iter 1.15
URITemplateRouter_Match_BasePath 181.37919310894029 ns/iter 154.5700355153351 ns/iter 1.17
URITemplateRouterView_Restore 8372.44613606674 ns/iter 2837.1636264166777 ns/iter 2.95
URITemplateRouterView_Match 125.29507816020032 ns/iter 99.78801299752354 ns/iter 1.26
URITemplateRouterView_Match_BasePath 142.2186678154617 ns/iter 113.74386844031676 ns/iter 1.25
URITemplateRouterView_Arguments 487.33286087816737 ns/iter 383.88714915282185 ns/iter 1.27
JSONPath_Descendant_Filter_Nested 1665.4237523169982 ns/iter 1151.7191132068058 ns/iter 1.45
Schema_Frame_WoT_References 2267892.5765473726 ns/iter 1882018.276881761 ns/iter 1.21
Schema_Frame_OMC_References 9724802.333333097 ns/iter 8146209.732558088 ns/iter 1.19
Schema_Frame_OMC_Pointers 18582222.76315832 ns/iter 15162175.652173584 ns/iter 1.23
Schema_Frame_OMC_Locations 8491106.698794551 ns/iter 7104844.939393925 ns/iter 1.20
Schema_Frame_ISO_Language_Locations 38988358.55555502 ns/iter 30396052.30434809 ns/iter 1.28
Schema_Frame_ISO_Language_Root 294.41723539574605 ns/iter 203.67156214419882 ns/iter 1.45
Schema_Frame_KrakenD_References 15499491.33333257 ns/iter 12918643.75925945 ns/iter 1.20
Schema_Frame_KrakenD_Reachable 125508167.33332227 ns/iter 96359175.28571473 ns/iter 1.30
Schema_Frame_ISO_Language_Locations_To_JSON 31355085.045452762 ns/iter 23633580.482759234 ns/iter 1.33
Schema_Frame_Many_Resources_References 126948531.20000288 ns/iter 118584993.33333345 ns/iter 1.07
Schema_Frame_Deeply_Nested_References 10720922.676923167 ns/iter 8816030.227848161 ns/iter 1.22
Pointer_Object_Traverse 24.843096509006816 ns/iter 17.95299954584532 ns/iter 1.38
Pointer_Object_Try_Traverse 24.678374694986292 ns/iter 20.137878441203615 ns/iter 1.23
Pointer_Push_Back_Pointer_To_Weak_Pointer 132.26870587825488 ns/iter 161.24496505281343 ns/iter 0.82
Pointer_Walker_Schema_ISO_Language 1504069.629310382 ns/iter 1660691.9952153156 ns/iter 0.91
Pointer_Maybe_Tracked_Deeply_Nested/0 1315005.8127340993 ns/iter 1041804.4292101654 ns/iter 1.26
Pointer_Maybe_Tracked_Deeply_Nested/1 1956875.549019699 ns/iter 1512501.3930885568 ns/iter 1.29
Pointer_Position_Tracker_Get_Deeply_Nested 607.041239650114 ns/iter 590.6922649779995 ns/iter 1.03
Schema_Tracker_ISO_Language 4839290.841379478 ns/iter 4068860.8103448325 ns/iter 1.19
Schema_Tracker_ISO_Language_To_JSON 15972249.2045453 ns/iter 13388207.384614667 ns/iter 1.19
JSON_Array_Of_Objects_Unique 442.61371069530907 ns/iter 333.6382890101586 ns/iter 1.33
JSON_Parse_1 5435.416261255068 ns/iter 4038.0175492028384 ns/iter 1.35
JSON_Parse_Real 5605.538738350573 ns/iter 4236.209912660245 ns/iter 1.32
JSON_Parse_Decimal 10345.254896449016 ns/iter 6764.50487280567 ns/iter 1.53
JSON_Parse_Schema_ISO_Language 3662686.357894903 ns/iter 2923704.193277137 ns/iter 1.25
JSON_Parse_Integer 3739.117619376164 ns/iter 2726.695563398315 ns/iter 1.37
JSON_Parse_String_NonSSO_Plain 3442.2411607163795 ns/iter 2450.8665584587143 ns/iter 1.40
JSON_Parse_String_SSO_Plain 2950.0457959063956 ns/iter 2199.9610308021042 ns/iter 1.34
JSON_Parse_String_Escape_Heavy 16905.858521986756 ns/iter 13235.316525391572 ns/iter 1.28
JSON_Parse_Object_Short_Keys 9698.624619892638 ns/iter 7081.611553663078 ns/iter 1.37
JSON_Parse_Object_Scalar_Properties 5148.323170334501 ns/iter 3639.2665229604318 ns/iter 1.41
JSON_Parse_Object_Array_Properties 6758.096008108947 ns/iter 5150.5791868818305 ns/iter 1.31
JSON_Parse_Object_Object_Properties 7035.884859183303 ns/iter 5243.051056481163 ns/iter 1.34
JSON_Parse_Nested_Containers 40180.029798473726 ns/iter 32373.63063455227 ns/iter 1.24
JSON_From_String_Copy 9.272110076555682 ns/iter 7.097923056227923 ns/iter 1.31
JSON_From_String_Temporary 7.722885795136139 ns/iter 5.083211451306634 ns/iter 1.52
JSON_Number_To_Double 19.36102452123326 ns/iter 19.295106089762807 ns/iter 1.00
JSON_Object_At_Last_Key/8 5.92910992412013 ns/iter 5.5892419633725945 ns/iter 1.06
JSON_Object_At_Last_Key/32 21.831960200808666 ns/iter 19.056831456783293 ns/iter 1.15
JSON_Object_At_Last_Key/128 87.82932352254474 ns/iter 71.15657339006987 ns/iter 1.23
JSON_Object_At_Last_Key/512 392.89719366567715 ns/iter 189.41630522084142 ns/iter 2.07
JSON_Fast_Hash_Helm_Chart_Lock 71.34058404636198 ns/iter 55.71388012337015 ns/iter 1.28
JSON_Equality_Helm_Chart_Lock 153.4471507172699 ns/iter 122.78401973497499 ns/iter 1.25
JSON_Divisible_By_Decimal 269.0067637891047 ns/iter 217.91888776348668 ns/iter 1.23
JSON_String_Equal/10 6.0380511551164116 ns/iter 5.173512752175377 ns/iter 1.17
JSON_String_Equal/100 6.663926509812672 ns/iter 6.292969753335164 ns/iter 1.06
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7488940257737221 ns/iter 0.8037564617052492 ns/iter 0.93
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.205863835697542 ns/iter 14.823566610942974 ns/iter 1.70
JSON_String_Fast_Hash/10 3.1513130483549037 ns/iter 2.6214248813532706 ns/iter 1.20
JSON_String_Fast_Hash/100 3.1524901760054256 ns/iter 2.6257497926157214 ns/iter 1.20
JSON_String_Key_Hash/10 1.5578757234409453 ns/iter 1.67506950017101 ns/iter 0.93
JSON_String_Key_Hash/100 12.441709749033206 ns/iter 11.212178937856121 ns/iter 1.11
JSON_Object_Defines_Miss_Same_Length 3.1315297817705847 ns/iter 2.6293611085282325 ns/iter 1.19
JSON_Object_Defines_Miss_Too_Small 3.4233643469322605 ns/iter 2.679701682173354 ns/iter 1.28
JSON_Object_Defines_Miss_Too_Large 3.114297135533384 ns/iter 2.586729438668356 ns/iter 1.20
Regex_Lower_S_Or_Upper_S_Asterisk 2.022921066548876 ns/iter 2.3087267576142745 ns/iter 0.88
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1006698435801505 ns/iter 2.330927340021205 ns/iter 0.90
Regex_Period_Asterisk 2.102770044737815 ns/iter 2.2976374853161445 ns/iter 0.92
Regex_Group_Period_Asterisk_Group 2.024181855908318 ns/iter 2.3121896970541176 ns/iter 0.88
Regex_Period_Plus 2.023123043629398 ns/iter 2.3063260034490254 ns/iter 0.88
Regex_Period 2.1030376284678622 ns/iter 2.311477420141618 ns/iter 0.91
Regex_Caret_Period_Plus_Dollar 2.1018438414887655 ns/iter 2.296856483345732 ns/iter 0.92
Regex_Caret_Group_Period_Plus_Group_Dollar 2.0233918098567614 ns/iter 2.312261720615109 ns/iter 0.88
Regex_Caret_Period_Asterisk_Dollar 2.0273073408988145 ns/iter 2.3088509923402856 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.1014625945445697 ns/iter 2.3148860966002536 ns/iter 0.91
Regex_Caret_X_Hyphen 7.085059501939017 ns/iter 5.509424059962981 ns/iter 1.29
Regex_Period_Md_Dollar 31.609183020420552 ns/iter 16.073093766762533 ns/iter 1.97
Regex_Caret_Slash_Period_Asterisk 8.559336998785682 ns/iter 5.456392580785323 ns/iter 1.57
Regex_Caret_Period_Range_Dollar 4.047239422204838 ns/iter 2.9544648904766917 ns/iter 1.37
Regex_Nested_Backtrack 40.71455221027373 ns/iter 30.20294973989508 ns/iter 1.35

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (linux/llvm)

Details
Benchmark suite Current: 9594aac Previous: ed9cd9c Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.2208728219899996 ns/iter 2.229789977552238 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1960011987702392 ns/iter 2.1801928463067584 ns/iter 1.01
Regex_Period_Asterisk 2.1955945733681417 ns/iter 2.1798852258111303 ns/iter 1.01
Regex_Group_Period_Asterisk_Group 2.195624859709157 ns/iter 2.1844079064865696 ns/iter 1.01
Regex_Period_Plus 2.80148738486875 ns/iter 2.7692972101222617 ns/iter 1.01
Regex_Period 2.8007597407394864 ns/iter 2.489791293502259 ns/iter 1.12
Regex_Caret_Period_Plus_Dollar 2.8013886365106018 ns/iter 2.4896365755949046 ns/iter 1.13
Regex_Caret_Group_Period_Plus_Group_Dollar 2.81409377896798 ns/iter 2.491256198115521 ns/iter 1.13
Regex_Caret_Period_Asterisk_Dollar 3.422853791248314 ns/iter 2.4895905328125942 ns/iter 1.37
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.424473140930077 ns/iter 2.4914568118972324 ns/iter 1.37
Regex_Caret_X_Hyphen 6.540915721583658 ns/iter 6.540712431042828 ns/iter 1.00
Regex_Period_Md_Dollar 27.431462763228907 ns/iter 27.463419575842973 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 6.84717115454752 ns/iter 5.914890111071057 ns/iter 1.16
Regex_Caret_Period_Range_Dollar 4.368294211153055 ns/iter 4.361617568659645 ns/iter 1.00
Regex_Nested_Backtrack 41.483947734326385 ns/iter 41.38663399653661 ns/iter 1.00
JSON_Array_Of_Objects_Unique 421.6292785387758 ns/iter 401.64536491217575 ns/iter 1.05
JSON_Parse_1 4579.344562960247 ns/iter 4509.057456723661 ns/iter 1.02
JSON_Parse_Real 5027.512868172726 ns/iter 5019.189971522132 ns/iter 1.00
JSON_Parse_Decimal 7466.971361372511 ns/iter 7357.938693372207 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 3352897.5904761725 ns/iter 3367752.586538422 ns/iter 1.00
JSON_Parse_Integer 3713.497280054174 ns/iter 3707.1583359730575 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 3313.2530690802378 ns/iter 3107.533822779159 ns/iter 1.07
JSON_Parse_String_SSO_Plain 2685.483756756027 ns/iter 2607.3745866740924 ns/iter 1.03
JSON_Parse_String_Escape_Heavy 11905.350586022203 ns/iter 12192.001805304699 ns/iter 0.98
JSON_Parse_Object_Short_Keys 7874.217026486369 ns/iter 7594.925461110308 ns/iter 1.04
JSON_Parse_Object_Scalar_Properties 3889.3657873221023 ns/iter 3897.7059062796548 ns/iter 1.00
JSON_Parse_Object_Array_Properties 5314.456238686939 ns/iter 5526.739223096672 ns/iter 0.96
JSON_Parse_Object_Object_Properties 5271.062856670252 ns/iter 5369.480508287238 ns/iter 0.98
JSON_Parse_Nested_Containers 34613.35627147434 ns/iter 34689.69410549228 ns/iter 1.00
JSON_From_String_Copy 12.894595713887329 ns/iter 10.723181963865152 ns/iter 1.20
JSON_From_String_Temporary 10.49304474173237 ns/iter 9.974562233909197 ns/iter 1.05
JSON_Number_To_Double 23.107309124813746 ns/iter 23.111958531048526 ns/iter 1.00
JSON_Object_At_Last_Key/8 3.925986578461779 ns/iter 3.922668142185682 ns/iter 1.00
JSON_Object_At_Last_Key/32 12.293534483579421 ns/iter 12.341515141101352 ns/iter 1.00
JSON_Object_At_Last_Key/128 49.09299289802391 ns/iter 50.03768805608799 ns/iter 0.98
JSON_Object_At_Last_Key/512 392.2541872909396 ns/iter 398.262518814217 ns/iter 0.98
JSON_Fast_Hash_Helm_Chart_Lock 61.038236006273245 ns/iter 62.56713358059788 ns/iter 0.98
JSON_Equality_Helm_Chart_Lock 150.05325507002064 ns/iter 153.62761476674098 ns/iter 0.98
JSON_Divisible_By_Decimal 238.17473841971199 ns/iter 243.88977097759454 ns/iter 0.98
JSON_String_Equal/10 5.745537604417398 ns/iter 5.609373979736867 ns/iter 1.02
JSON_String_Equal/100 6.232312755918628 ns/iter 6.242287378842987 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.9344108877398172 ns/iter 0.9390658158668846 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 10.58012261008488 ns/iter 14.93299798453756 ns/iter 0.71
JSON_String_Fast_Hash/10 2.491410766613569 ns/iter 2.500549683780053 ns/iter 1.00
JSON_String_Fast_Hash/100 2.492850042428805 ns/iter 2.4897012399273017 ns/iter 1.00
JSON_String_Key_Hash/10 2.184673451145577 ns/iter 2.7139175592578613 ns/iter 0.80
JSON_String_Key_Hash/100 6.537052865498479 ns/iter 9.02709625020306 ns/iter 0.72
JSON_Object_Defines_Miss_Same_Length 3.427070576066272 ns/iter 3.435020563362852 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.198742232501545 ns/iter 3.1142665634399105 ns/iter 1.03
JSON_Object_Defines_Miss_Too_Large 2.745850038591229 ns/iter 2.6956332051780585 ns/iter 1.02
Pointer_Object_Traverse 28.486898075714517 ns/iter 28.473709735057092 ns/iter 1.00
Pointer_Object_Try_Traverse 30.434609772367356 ns/iter 30.31319083333878 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 144.9532668455913 ns/iter 196.19724244249457 ns/iter 0.74
Pointer_Walker_Schema_ISO_Language 1572299.6644295221 ns/iter 1500595.3188720094 ns/iter 1.05
Pointer_Maybe_Tracked_Deeply_Nested/0 1256984.8960573308 ns/iter 1262125.9154676006 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1614487.900921651 ns/iter 1601262.432801809 ns/iter 1.01
Pointer_Position_Tracker_Get_Deeply_Nested 593.7722465449257 ns/iter 591.608170353591 ns/iter 1.00
Schema_Tracker_ISO_Language 4514213.741935596 ns/iter 4447057.316455821 ns/iter 1.02
Schema_Tracker_ISO_Language_To_JSON 16856250.902438942 ns/iter 16472164.441860206 ns/iter 1.02
Schema_Frame_WoT_References 2177213.3819876174 ns/iter 2160386.432515462 ns/iter 1.01
Schema_Frame_OMC_References 9566885.47945213 ns/iter 9384134.067567622 ns/iter 1.02
Schema_Frame_OMC_Pointers 18047124.153845757 ns/iter 17661122.349998947 ns/iter 1.02
Schema_Frame_OMC_Locations 8240603.790697677 ns/iter 8114303.151162772 ns/iter 1.02
Schema_Frame_ISO_Language_Locations 42568988.75000026 ns/iter 41124158.82352974 ns/iter 1.04
Schema_Frame_ISO_Language_Root 289.6298270291327 ns/iter 298.64454640316376 ns/iter 0.97
Schema_Frame_KrakenD_References 15840390.399999807 ns/iter 15065633.638297195 ns/iter 1.05
Schema_Frame_KrakenD_Reachable 141822526.80000147 ns/iter 142226696.4000073 ns/iter 1.00
Schema_Frame_ISO_Language_Locations_To_JSON 31638181.681817528 ns/iter 30822668.227270614 ns/iter 1.03
Schema_Frame_Many_Resources_References 139434189.60000145 ns/iter 132442799.19999826 ns/iter 1.05
Schema_Frame_Deeply_Nested_References 11494920.145161077 ns/iter 10813875.446154516 ns/iter 1.06
JSONPath_Descendant_Filter_Nested 1537.15762609013 ns/iter 1550.2296056781272 ns/iter 0.99
URITemplateRouter_Create 24534.586420613043 ns/iter 24218.668589298137 ns/iter 1.01
URITemplateRouter_Match 175.86148425357555 ns/iter 178.01079103806126 ns/iter 0.99
URITemplateRouter_Match_BasePath 202.66984941337824 ns/iter 204.9746572804342 ns/iter 0.99
URITemplateRouterView_Restore 8544.556321400452 ns/iter 8436.972567923576 ns/iter 1.01
URITemplateRouterView_Match 141.9053970518756 ns/iter 141.8848233120639 ns/iter 1.00
URITemplateRouterView_Match_BasePath 162.81128111509707 ns/iter 164.74293828419962 ns/iter 0.99
URITemplateRouterView_Arguments 437.68218200121373 ns/iter 423.07747876595636 ns/iter 1.03
JSONL_Parse_Large 9241199.355262913 ns/iter 9098663.142856957 ns/iter 1.02
JSONL_Parse_Large_GZIP 10704180.272727393 ns/iter 10671704.89230788 ns/iter 1.00
JSONLD_Catalog_Annotation_List_Populate 588576.642078798 ns/iter 591403.5149190022 ns/iter 1.00
JSONLD_Catalog_Materialize 3528269.0909090973 ns/iter 3489201.419999972 ns/iter 1.01
HTML_Build_Table_100000 56549570.99999985 ns/iter 57010835.36364008 ns/iter 0.99
HTML_Render_Table_100000 1778471.330769312 ns/iter 1785957.8040711996 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Locations 33371599.000001125 ns/iter 33338091.523809172 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4190922.2455086964 ns/iter 4058296.3197673005 ns/iter 1.03
GZIP_Compress_ISO_Language_Set_3_Schema 1888499.0027027323 ns/iter 1888728.0377358387 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 352497.77632241155 ns/iter 352281.33064924314 ns/iter 1.00
JOSE_VerifySignature_RS256 57917.634295641365 ns/iter 57947.30008403325 ns/iter 1.00
JOSE_VerifySignature_ES512 1999969.6866097644 ns/iter 2010218.5530086092 ns/iter 0.99

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (windows/msvc)

Details
Benchmark suite Current: 9594aac Previous: ed9cd9c Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.100825000000546 ns/iter 5.0290800000004765 ns/iter 1.01
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.0285044654085 ns/iter 4.964547999999809 ns/iter 1.01
Regex_Period_Asterisk 5.097829000000047 ns/iter 4.992115999999669 ns/iter 1.02
Regex_Group_Period_Asterisk_Group 5.0517205357140575 ns/iter 4.962031249999958 ns/iter 1.02
Regex_Period_Plus 5.0238389999992705 ns/iter 4.690123381341027 ns/iter 1.07
Regex_Period 5.1294320000010885 ns/iter 4.632773447841313 ns/iter 1.11
Regex_Caret_Period_Plus_Dollar 5.126069642857699 ns/iter 4.614018090656287 ns/iter 1.11
Regex_Caret_Group_Period_Plus_Group_Dollar 5.028965999999855 ns/iter 4.610308269219665 ns/iter 1.09
Regex_Caret_Period_Asterisk_Dollar 5.086033684171077 ns/iter 4.960546428570974 ns/iter 1.03
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.03029799999922 ns/iter 4.981471652897566 ns/iter 1.01
Regex_Caret_X_Hyphen 8.156838169643015 ns/iter 7.788583705356749 ns/iter 1.05
Regex_Period_Md_Dollar 46.24289165720384 ns/iter 58.82358000000068 ns/iter 0.79
Regex_Caret_Slash_Period_Asterisk 8.035605767699224 ns/iter 7.5853646982800305 ns/iter 1.06
Regex_Caret_Period_Range_Dollar 5.64743099999987 ns/iter 5.4005610000001525 ns/iter 1.05
Regex_Nested_Backtrack 57.68699000000197 ns/iter 84.52176339285141 ns/iter 0.68
JSON_Array_Of_Objects_Unique 573.5989000000927 ns/iter 705.1516741071343 ns/iter 0.81
JSON_Parse_1 8919.123575340675 ns/iter 9310.774505471003 ns/iter 0.96
JSON_Parse_Real 15941.25669642819 ns/iter 18048.57900516902 ns/iter 0.88
JSON_Parse_Decimal 12016.815624999566 ns/iter 11486.514285714122 ns/iter 1.05
JSON_Parse_Schema_ISO_Language 7658728.888889577 ns/iter 7936895.999999555 ns/iter 0.96
JSON_Parse_Integer 6241.850000000072 ns/iter 6185.488392856899 ns/iter 1.01
JSON_Parse_String_NonSSO_Plain 8384.712053570403 ns/iter 8051.257812499633 ns/iter 1.04
JSON_Parse_String_SSO_Plain 3824.142299107309 ns/iter 3806.381952889334 ns/iter 1.00
JSON_Parse_String_Escape_Heavy 21883.99976785785 ns/iter 22109.409375000057 ns/iter 0.99
JSON_Parse_Object_Short_Keys 13024.905357141848 ns/iter 12998.10535714333 ns/iter 1.00
JSON_Parse_Object_Scalar_Properties 6773.118303570667 ns/iter 6760.97656250033 ns/iter 1.00
JSON_Parse_Object_Array_Properties 11374.692857141814 ns/iter 11570.571428570986 ns/iter 0.98
JSON_Parse_Object_Object_Properties 11575.228571426724 ns/iter 11913.057142857651 ns/iter 0.97
JSON_Parse_Nested_Containers 80680.96959957914 ns/iter 81121.42857142424 ns/iter 0.99
JSON_From_String_Copy 63.65363392857506 ns/iter 62.63503571428685 ns/iter 1.02
JSON_From_String_Temporary 58.9727000000039 ns/iter 85.69796875000131 ns/iter 0.69
JSON_Number_To_Double 122.22201562499535 ns/iter 145.6161765349954 ns/iter 0.84
JSON_Object_At_Last_Key/8 7.681770089285374 ns/iter 7.111871651785633 ns/iter 1.08
JSON_Object_At_Last_Key/32 22.987265624998088 ns/iter 24.40280357142756 ns/iter 0.94
JSON_Object_At_Last_Key/128 89.35401833241355 ns/iter 93.89834821428141 ns/iter 0.95
JSON_Object_At_Last_Key/512 433.0130000000309 ns/iter 435.9434999999934 ns/iter 0.99
JSON_Fast_Hash_Helm_Chart_Lock 104.09270963871184 ns/iter 121.32321874999796 ns/iter 0.86
JSON_Equality_Helm_Chart_Lock 220.1185312500087 ns/iter 206.3356425743011 ns/iter 1.07
JSON_Divisible_By_Decimal 307.3931696428746 ns/iter 351.8007255268323 ns/iter 0.87
JSON_String_Equal/10 10.692354687499517 ns/iter 9.9898281250006 ns/iter 1.07
JSON_String_Equal/100 12.01444464285625 ns/iter 11.694557812500506 ns/iter 1.03
JSON_String_Equal_Small_By_Perfect_Hash/10 2.542456627194266 ns/iter 2.149378750000075 ns/iter 1.18
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.143701271679381 ns/iter 13.99929100893168 ns/iter 1.08
JSON_String_Fast_Hash/10 6.631778571428778 ns/iter 6.400569642857131 ns/iter 1.04
JSON_String_Fast_Hash/100 6.592077678570872 ns/iter 6.374442857142932 ns/iter 1.03
JSON_String_Key_Hash/10 5.388687499999735 ns/iter 5.024325999999633 ns/iter 1.07
JSON_String_Key_Hash/100 11.878046428571613 ns/iter 11.099762499999777 ns/iter 1.07
JSON_Object_Defines_Miss_Same_Length 4.765345323136577 ns/iter 4.613591216350563 ns/iter 1.03
JSON_Object_Defines_Miss_Too_Small 4.809071518930201 ns/iter 4.735524117713097 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Large 5.063900514523149 ns/iter 4.6470207693012675 ns/iter 1.09
Pointer_Object_Traverse 75.1662388392939 ns/iter 66.1015892857161 ns/iter 1.14
Pointer_Object_Try_Traverse 71.91941964285981 ns/iter 67.54345535714127 ns/iter 1.06
Pointer_Push_Back_Pointer_To_Weak_Pointer 169.0004510491456 ns/iter 163.7731696428573 ns/iter 1.03
Pointer_Walker_Schema_ISO_Language 11012168.749999773 ns/iter 11757692.187500445 ns/iter 0.94
Pointer_Maybe_Tracked_Deeply_Nested/0 2456556.439393821 ns/iter 2381835.6060604802 ns/iter 1.03
Pointer_Maybe_Tracked_Deeply_Nested/1 3755487.700534912 ns/iter 3671789.2307691704 ns/iter 1.02
Pointer_Position_Tracker_Get_Deeply_Nested 514.1129464285704 ns/iter 560.1158482142487 ns/iter 0.92
Schema_Tracker_ISO_Language 10807635.937499782 ns/iter 10737278.125000138 ns/iter 1.01
Schema_Tracker_ISO_Language_To_JSON 62405581.81818042 ns/iter 64570555.555557504 ns/iter 0.97
Schema_Frame_WoT_References 5640474.999999867 ns/iter 5655998.999999952 ns/iter 1.00
Schema_Frame_OMC_References 23151880.000000346 ns/iter 25129911.538460173 ns/iter 0.92
Schema_Frame_OMC_Pointers 42658841.1764696 ns/iter 47913550.000000015 ns/iter 0.89
Schema_Frame_OMC_Locations 19555616.21621569 ns/iter 20942143.75000014 ns/iter 0.93
Schema_Frame_ISO_Language_Locations 78945555.55555548 ns/iter 81184900.0000014 ns/iter 0.97
Schema_Frame_ISO_Language_Root 2228.32468749985 ns/iter 2549.991785714261 ns/iter 0.87
Schema_Frame_KrakenD_References 38855684.21052492 ns/iter 40454894.1176452 ns/iter 0.96
Schema_Frame_KrakenD_Reachable 255146833.33331808 ns/iter 224160166.66666868 ns/iter 1.14
Schema_Frame_ISO_Language_Locations_To_JSON 159753475.00000226 ns/iter 180915900.00000224 ns/iter 0.88
Schema_Frame_Many_Resources_References 703716800.000052 ns/iter 671938099.9999771 ns/iter 1.05
Schema_Frame_Deeply_Nested_References 22843229.166667808 ns/iter 20474788.888888735 ns/iter 1.12
JSONPath_Descendant_Filter_Nested 2478.2631133573204 ns/iter 2488.7942857142366 ns/iter 1.00
URITemplateRouter_Create 42062.12860845289 ns/iter 39116.953124998916 ns/iter 1.08
URITemplateRouter_Match 237.2683663763246 ns/iter 227.47690624999706 ns/iter 1.04
URITemplateRouter_Match_BasePath 268.1749642856955 ns/iter 254.04325000000736 ns/iter 1.06
URITemplateRouterView_Restore 33672.726379883396 ns/iter 25228.56980229974 ns/iter 1.33
URITemplateRouterView_Match 186.3297736381575 ns/iter 172.85052496767378 ns/iter 1.08
URITemplateRouterView_Match_BasePath 208.3775710545664 ns/iter 194.92434776109792 ns/iter 1.07
URITemplateRouterView_Arguments 540.5108999999584 ns/iter 605.2433928571434 ns/iter 0.89
JSONL_Parse_Large 32675787.50000174 ns/iter 32900790.476189524 ns/iter 0.99
JSONL_Parse_Large_GZIP 33240649.999999054 ns/iter 33467699.99999992 ns/iter 0.99
JSONLD_Catalog_Annotation_List_Populate 2959353.81355945 ns/iter 3152676.339285827 ns/iter 0.94
JSONLD_Catalog_Materialize 7842286.666666749 ns/iter 8422869.333332984 ns/iter 0.93
HTML_Build_Table_100000 92502014.28570952 ns/iter 93988828.57142814 ns/iter 0.98
HTML_Render_Table_100000 7867233.333332833 ns/iter 7955968.888889073 ns/iter 0.99
GZIP_Compress_ISO_Language_Set_3_Locations 36299621.052631 ns/iter 37763999.99999943 ns/iter 0.96
GZIP_Decompress_ISO_Language_Set_3_Locations 10080900.00000017 ns/iter 10620326.562500004 ns/iter 0.95
GZIP_Compress_ISO_Language_Set_3_Schema 2094758.8405797302 ns/iter 2343761.872909726 ns/iter 0.89
GZIP_Decompress_ISO_Language_Set_3_Schema 625130.267857088 ns/iter 571433.3000000238 ns/iter 1.09
JOSE_VerifySignature_RS256 21657.4807033819 ns/iter 23751.836475039083 ns/iter 0.91
JOSE_VerifySignature_ES512 1377959.2369478468 ns/iter 1519572.4899599217 ns/iter 0.91

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark (macos/llvm)

Details
Benchmark suite Current: 9594aac Previous: ed9cd9c Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.8943640664455592 ns/iter 1.8092440540868273 ns/iter 1.05
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.819809694091427 ns/iter 1.8097552216424815 ns/iter 1.01
Regex_Period_Asterisk 1.7923714183724815 ns/iter 2.116965859056835 ns/iter 0.85
Regex_Group_Period_Asterisk_Group 1.7144965459710215 ns/iter 1.8180287042658818 ns/iter 0.94
Regex_Period_Plus 2.022632086172662 ns/iter 2.253702054906053 ns/iter 0.90
Regex_Period 2.0565222354421118 ns/iter 2.518163583077025 ns/iter 0.82
Regex_Caret_Period_Plus_Dollar 2.298851495523314 ns/iter 2.7288653814947503 ns/iter 0.84
Regex_Caret_Group_Period_Plus_Group_Dollar 2.1427323520223913 ns/iter 2.5983661177868633 ns/iter 0.82
Regex_Caret_Period_Asterisk_Dollar 1.7062824168770108 ns/iter 2.3901922490368723 ns/iter 0.71
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.026577065827027 ns/iter 2.935570296491625 ns/iter 0.69
Regex_Caret_X_Hyphen 6.299108525380342 ns/iter 8.407488447174853 ns/iter 0.75
Regex_Period_Md_Dollar 19.520115576144498 ns/iter 26.13057183913071 ns/iter 0.75
Regex_Caret_Slash_Period_Asterisk 5.214564589999782 ns/iter 6.006152060200197 ns/iter 0.87
Regex_Caret_Period_Range_Dollar 2.17205120541877 ns/iter 3.0534359015501638 ns/iter 0.71
Regex_Nested_Backtrack 28.410542013928342 ns/iter 37.96006826135083 ns/iter 0.75
JSON_Array_Of_Objects_Unique 367.0144941281831 ns/iter 456.1958396147428 ns/iter 0.80
JSON_Parse_1 3250.606013579268 ns/iter 3836.3906430920974 ns/iter 0.85
JSON_Parse_Real 5220.19916999966 ns/iter 6923.999446582821 ns/iter 0.75
JSON_Parse_Decimal 5536.8063247457385 ns/iter 7248.427582061255 ns/iter 0.76
JSON_Parse_Schema_ISO_Language 2372174.0955414562 ns/iter 3231889.7511962703 ns/iter 0.73
JSON_Parse_Integer 3217.3131173532324 ns/iter 4241.697030148917 ns/iter 0.76
JSON_Parse_String_NonSSO_Plain 3123.579404860761 ns/iter 5718.185000000631 ns/iter 0.55
JSON_Parse_String_SSO_Plain 1712.9641790402782 ns/iter 3058.2520188743724 ns/iter 0.56
JSON_Parse_String_Escape_Heavy 17386.521158535346 ns/iter 23517.34197921926 ns/iter 0.74
JSON_Parse_Object_Short_Keys 5534.224123431268 ns/iter 7563.530677823685 ns/iter 0.73
JSON_Parse_Object_Scalar_Properties 2788.8908483913924 ns/iter 5232.331190552072 ns/iter 0.53
JSON_Parse_Object_Array_Properties 3490.5784374457735 ns/iter 6043.128267127961 ns/iter 0.58
JSON_Parse_Object_Object_Properties 3581.2120059098625 ns/iter 5975.319211643919 ns/iter 0.60
JSON_Parse_Nested_Containers 25219.17537889404 ns/iter 48240.28288140002 ns/iter 0.52
JSON_From_String_Copy 11.435397895101005 ns/iter 18.37131103348159 ns/iter 0.62
JSON_From_String_Temporary 6.938576721596175 ns/iter 13.129338060770166 ns/iter 0.53
JSON_Number_To_Double 33.55288160436124 ns/iter 53.506558233219586 ns/iter 0.63
JSON_Object_At_Last_Key/8 4.176535939226918 ns/iter 5.720086132624167 ns/iter 0.73
JSON_Object_At_Last_Key/32 12.761884752983795 ns/iter 17.336350451840747 ns/iter 0.74
JSON_Object_At_Last_Key/128 56.39411221169083 ns/iter 75.17340246170963 ns/iter 0.75
JSON_Object_At_Last_Key/512 202.9056668682455 ns/iter 270.5201825220953 ns/iter 0.75
JSON_Fast_Hash_Helm_Chart_Lock 60.66837895554769 ns/iter 75.28433628420956 ns/iter 0.81
JSON_Equality_Helm_Chart_Lock 173.82135424081133 ns/iter 234.02062678222936 ns/iter 0.74
JSON_Divisible_By_Decimal 205.76191911711413 ns/iter 229.68693132253307 ns/iter 0.90
JSON_String_Equal/10 7.332628808711972 ns/iter 9.353496968708026 ns/iter 0.78
JSON_String_Equal/100 6.759032702986204 ns/iter 8.690727273127479 ns/iter 0.78
JSON_String_Equal_Small_By_Perfect_Hash/10 0.34943905867843184 ns/iter 0.45357845137850256 ns/iter 0.77
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.356985753635499 ns/iter 5.285118750000493 ns/iter 0.64
JSON_String_Fast_Hash/10 2.5357988414215633 ns/iter 2.9107784145612774 ns/iter 0.87
JSON_String_Fast_Hash/100 2.1344922911736757 ns/iter 2.2812996440379174 ns/iter 0.94
JSON_String_Key_Hash/10 1.8197310127176227 ns/iter 1.8283310145608125 ns/iter 1.00
JSON_String_Key_Hash/100 2.3746279050094903 ns/iter 2.392252915352282 ns/iter 0.99
JSON_Object_Defines_Miss_Same_Length 2.7818943497495288 ns/iter 2.9358827767397475 ns/iter 0.95
JSON_Object_Defines_Miss_Too_Small 2.8157353588311436 ns/iter 2.9924262216791444 ns/iter 0.94
JSON_Object_Defines_Miss_Too_Large 2.806710081254335 ns/iter 3.2087769928093492 ns/iter 0.87
Pointer_Object_Traverse 19.969478663590014 ns/iter 21.30505858136508 ns/iter 0.94
Pointer_Object_Try_Traverse 34.740424678678075 ns/iter 37.33082527472574 ns/iter 0.93
Pointer_Push_Back_Pointer_To_Weak_Pointer 151.61942555981327 ns/iter 163.43499691332983 ns/iter 0.93
Pointer_Walker_Schema_ISO_Language 1531038.291498015 ns/iter 1677227.3607306255 ns/iter 0.91
Pointer_Maybe_Tracked_Deeply_Nested/0 872901.4021479937 ns/iter 935800.8359372505 ns/iter 0.93
Pointer_Maybe_Tracked_Deeply_Nested/1 1207457.7802360558 ns/iter 1168580.9742710567 ns/iter 1.03
Pointer_Position_Tracker_Get_Deeply_Nested 362.97833129568596 ns/iter 428.6825008129568 ns/iter 0.85
Schema_Tracker_ISO_Language 3173915.0000001043 ns/iter 3663431.3081076224 ns/iter 0.87
Schema_Tracker_ISO_Language_To_JSON 12609286.2903218 ns/iter 12665186.799999144 ns/iter 1.00
Schema_Frame_WoT_References 2288424.974276539 ns/iter 2494134.6689416734 ns/iter 0.92
Schema_Frame_OMC_References 10318102.73972596 ns/iter 12430554.796297757 ns/iter 0.83
Schema_Frame_OMC_Pointers 19041190.972223554 ns/iter 25258573.600005247 ns/iter 0.75
Schema_Frame_OMC_Locations 8169992.344827231 ns/iter 9397138.893939083 ns/iter 0.87
Schema_Frame_ISO_Language_Locations 23492344.433331408 ns/iter 23554973.214280445 ns/iter 1.00
Schema_Frame_ISO_Language_Root 113.20857026177882 ns/iter 141.5651765637702 ns/iter 0.80
Schema_Frame_KrakenD_References 16376008.72093011 ns/iter 17129126.2000003 ns/iter 0.96
Schema_Frame_KrakenD_Reachable 174898385.75002638 ns/iter 195571739.75005072 ns/iter 0.89
Schema_Frame_ISO_Language_Locations_To_JSON 23352151.870965593 ns/iter 25012936.80644824 ns/iter 0.93
Schema_Frame_Many_Resources_References 120511291.71428394 ns/iter 112163000.00000955 ns/iter 1.07
Schema_Frame_Deeply_Nested_References 14335235.294119425 ns/iter 13575991.358489122 ns/iter 1.06
JSONPath_Descendant_Filter_Nested 1318.4291691374628 ns/iter 1326.131283779214 ns/iter 0.99
URITemplateRouter_Create 19382.133340369113 ns/iter 17450.174932080732 ns/iter 1.11
URITemplateRouter_Match 190.46040331938687 ns/iter 175.67890944985584 ns/iter 1.08
URITemplateRouter_Match_BasePath 233.11138780564377 ns/iter 199.14109918682675 ns/iter 1.17
URITemplateRouterView_Restore 11408.436508055041 ns/iter 10488.793502018118 ns/iter 1.09
URITemplateRouterView_Match 147.32699679524262 ns/iter 137.82017101706285 ns/iter 1.07
URITemplateRouterView_Match_BasePath 173.87454569181796 ns/iter 153.58718422447268 ns/iter 1.13
URITemplateRouterView_Arguments 596.6950362330219 ns/iter 551.413041962567 ns/iter 1.08
JSONL_Parse_Large 6552989.495651713 ns/iter 7413476.315787192 ns/iter 0.88
JSONL_Parse_Large_GZIP 7643602.696969473 ns/iter 8197824.9047633 ns/iter 0.93
JSONLD_Catalog_Annotation_List_Populate 547124.3083032471 ns/iter 486097.07138005533 ns/iter 1.13
JSONLD_Catalog_Materialize 2530668.2989323195 ns/iter 2289385.5809530895 ns/iter 1.11
HTML_Build_Table_100000 38428354.16666427 ns/iter 41267421.58823885 ns/iter 0.93
HTML_Render_Table_100000 1834790.7767221492 ns/iter 1572481.7885981714 ns/iter 1.17
GZIP_Compress_ISO_Language_Set_3_Locations 27850007.999999292 ns/iter 27982250.000004567 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 3829481.1343284072 ns/iter 3405691.882050796 ns/iter 1.12
GZIP_Compress_ISO_Language_Set_3_Schema 1738750.4425533114 ns/iter 1535929.1475769999 ns/iter 1.13
GZIP_Decompress_ISO_Language_Set_3_Schema 304162.7247431534 ns/iter 273427.3207625352 ns/iter 1.11
JOSE_VerifySignature_RS256 24710.32602599226 ns/iter 21688.51644232785 ns/iter 1.14
JOSE_VerifySignature_ES512 1014092.9172510989 ns/iter 996562.7023642549 ns/iter 1.02

This comment was automatically generated by workflow using github-action-benchmark.

@augmentcode

augmentcode Bot commented Sep 13, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Enables a website-CI-only gate requiring every measured function to be exercised.
Changes: The website workflow sets an opt-in environment variable, and contrib/website.sh runs llvm-cov report to fail with the number and locations of missed functions.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread contrib/website.sh Outdated
# elsewhere measures a different set of code
if [ -n "${REQUIRE_FULL_FUNCTION_COVERAGE:-}" ]
then
"$LLVM_COV" report "$MAIN_OBJECT" "$@" \

@augmentcode augmentcode Bot Sep 13, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passing every test executable to one llvm-cov report invocation can misattribute duplicate mapping records for inline/constexpr functions in headers: an unexecuted or constant-folded copy in one translation unit can shadow the executed copy in another. This can make the new gate fail even though the suite did call the function, so it does not reliably measure the intended 100% function coverage.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 1 file (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread contrib/website.sh Outdated
Comment thread contrib/website.sh Outdated
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 2 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="contrib/website.sh">

<violation number="1" location="contrib/website.sh:275">
P2: `function["regions"][0]` can raise IndexError. The llvm-cov JSON `functions[]` array is not guaranteed to contain a non-empty `regions` list for every emitted function record (records that carry no counted region can be exported with an empty array). Because the shell runs under `set -o errexit`, a single such record aborts the whole website build and coverage gate. Guard the read and fall back to a safe start position (or skip such records) instead of indexing unconditionally.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread contrib/website.sh
filename = function["filenames"][0]
if excluded.search(filename):
continue
start = function["regions"][0]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: function["regions"][0] can raise IndexError. The llvm-cov JSON functions[] array is not guaranteed to contain a non-empty regions list for every emitted function record (records that carry no counted region can be exported with an empty array). Because the shell runs under set -o errexit, a single such record aborts the whole website build and coverage gate. Guard the read and fall back to a safe start position (or skip such records) instead of indexing unconditionally.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At contrib/website.sh, line 275:

<comment>`function["regions"][0]` can raise IndexError. The llvm-cov JSON `functions[]` array is not guaranteed to contain a non-empty `regions` list for every emitted function record (records that carry no counted region can be exported with an empty array). Because the shell runs under `set -o errexit`, a single such record aborts the whole website build and coverage gate. Guard the read and fall back to a safe start position (or skip such records) instead of indexing unconditionally.</comment>

<file context>
@@ -257,39 +238,65 @@ END {
+                filename = function["filenames"][0]
+                if excluded.search(filename):
+                    continue
+                start = function["regions"][0]
+                key = (filename, start[0], start[1])
+                counts[key] = max(counts.get(key, 0), function["count"])
</file context>
Suggested change
start = function["regions"][0]
if not function["regions"]:
continue
start = function["regions"][0]

@jviotti
jviotti merged commit 1866173 into main Sep 13, 2026
15 checks passed
@jviotti
jviotti deleted the require-cov-100 branch September 13, 2026 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant