anaconda / percy

A tool to work on recipes from aggregate.
BSD 3-Clause "New" or "Revised" License
9 stars 0 forks source link

Fixes `render_to_object()` for multi-output recipes #72

Closed schuylermartin45 closed 1 year ago

schuylermartin45 commented 1 year ago

Here are the current error counts from aggregate, courtesy of the new script:

==== Histogram ====
{
  "'cli_opts'": 1,
  "'dict' object has no attribute 'append'": 8,
  "'int' object does not support item assignment": 1,
  "'outputs'": 1,
  "'requirements'": 1,
  "'str' object does not support item assignment": 11,
  "'str' object has no attribute 'append'": 2,
  "(PosixPath('/Users/smartin/work/aggregate/clangdev-feedstock/recipe'), 'can only concatenate str (not \"int\") to str')": 1,
  "(PosixPath('/Users/smartin/work/aggregate/gtk3-feedstock/recipe'), \"unexpected char '#' at 4499 (at line 133)\")": 1,
  "(PosixPath('/Users/smartin/work/aggregate/theano-feedstock/recipe'), \"render.<locals>.<lambda>() got multiple values for argument 'max_pin'\")": 1,
  "expected '<document start>', but found '<scalar>'": 2,
  "found undefined alias 'test'": 1,
  "list index out of range": 54,
  "list indices must be integers or slices, not object": 1,
  "list indices must be integers or slices, not str": 4,
  "mapping values are not allowed here": 1,
  "pop from empty list": 11,
  "string indices must be integers, not 'str'": 1,
  "while constructing a mapping": 11,
  "while parsing a block collection": 1,
  "while parsing a block mapping": 3,
  "while parsing a flow mapping": 12,
  "while scanning a block scalar": 1,
  "while scanning a quoted scalar": 4,
  "while scanning an alias": 4,
  "while scanning an anchor": 1,
  "while scanning for the next token": 54
}
==== Stats ====
Total error count: 194
schuylermartin45 commented 1 year ago

As of the last commit, the error count is now down to 166, after a quick win.

schuylermartin45 commented 1 year ago

I think the regex change is the only thing being left out.

Realistically for that I'd like to eventually run the parser against every recipe in aggregate and try to keep track of parsing regressions/maintain some minimum acceptance level. I guess that could be an integration test of sorts, let me capture that as a future ticket.