Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor many things, fix extra/missing commas #58

Open
wants to merge 102 commits into
base: develop
Choose a base branch
from

Commits on Apr 6, 2023

  1. ref: improve usesAscii28 parsing from version

    Also adds some tests for this
    NickCrews committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    eb7ebed View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c218b74 View commit details
    Browse the repository at this point in the history
  3. ref: add freeSafe() helper

    NickCrews committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    8e0e914 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    413fbcc View commit details
    Browse the repository at this point in the history
  5. ref: statically compile regexes

    By using static variables inside helper functions,
    these regexes will only get compiled/allocated once.
    Since this only happens once, we don't need to worry about freeing the
    memory after use.
    
    This greatly simplifies init/cleanup
    of the context struct.
    
    While I was at it, make the helper functions
    more readable at what they are doing.
    NickCrews committed Apr 6, 2023
    Configuration menu
    Copy the full SHA
    1df3bd3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cb308c2 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2023

  1. ref: move string stuff to string_utils.h

    Also:
    - remove passing "extension" around excessively in fec.c
    - stop passing around the full FEC_CONTEXT excessively when you only
    need access to a single line.
    - Capitalize CSV_EXTENSION since it's a constant
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    a79be13 View commit details
    Browse the repository at this point in the history
  2. ref: remove unused FEC_CONTEXT.useAscii28

    After I did all that refactoring, I now
    realize we don't even use this info at all.
    As we read each line, we see if it contains
    any asci28. If so, then we treat that as the delimiter.
    Otherwise default to comma.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    22fcc2c View commit details
    Browse the repository at this point in the history
  3. ref: Move isParseDone() to csv.h and csv.c

    It really is a private method of PARSE_CONTEXT,
    we don't care about the implementation in fec.c
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    1467a7d View commit details
    Browse the repository at this point in the history
  4. ref: move initParseContext() into csv.h and csv.c

    This is an implementation detail of the csv parser,
    we don't want to have to deal with it.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    4ef050a View commit details
    Browse the repository at this point in the history
  5. ref: Move readField() into csv.h

    Another implementation detail of the csv reader.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    088bf0b View commit details
    Browse the repository at this point in the history
  6. ref: store FIELD_INFO in PARSE_CONTEXT as value, not pointer

    We never need to share one FIELD_INFO between multiple places,
    and the lifetimes make sense to be tied to each other. This makes the
    API and lifecycle management simpler.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    98774db View commit details
    Browse the repository at this point in the history
  7. ref: clean up a few warnings

    If I add "-Werror" build flag, then I found a few errors.
    
    Ideally I think we should turn on this flag by
    default to help catch more bugs.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    88c31c7 View commit details
    Browse the repository at this point in the history
  8. ref: Move mapping regexes to separate, static struct

    It was weird to store these regexes in the persistentMemory. We
    only have one version of the mappings
    per compilation (and runtime) so
    we can just store them statically.
    
    Next up would be to refactor the lookupMappings()
    function from fec.c
    to mappings.c
    
    While I'm at it, clean up the regex compilation to share
    the helper function we already have.
    This involved creating
    regex.h to hold that shared regexCompile()
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    cd86048 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    efe1ff3 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2f0d02f View commit details
    Browse the repository at this point in the history
  11. ref: Replace py.path with pathlib.Path in tests

    tmpdir is deprecated in pytest.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    41672ce View commit details
    Browse the repository at this point in the history
  12. ref: test: simplify getting fixtures

    We never used the load kwarg, and the
    helper function did not need to be a fixture itself.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    30b27a7 View commit details
    Browse the repository at this point in the history
  13. ref: blacken client.py

    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    c9ef40c View commit details
    Browse the repository at this point in the history
  14. fix: Make reader thread a daemon

    We want the reader thread to be stopped
    if the parent thread stops.
    Before, my pytest runs sometime hung.
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    706710b View commit details
    Browse the repository at this point in the history
  15. test: ref: Overhaul python testing

    Before, the testing was a bit half-baked.
    We didn't actually check the contents of the output files.
    We also weren't very thorough, and only checked some APIs on
    some examples. Now we test all APIs on all examples.
    
    Some example .fec files that were tracked in git weren't actually
    getting tested at all. For example,
    the 13360.fec file actually produces a segfault!
    We need to track down the issue and fix it.
    It is skipped for now.
    
    These changes also revealed an inconsistency in  howform types
    are normalized. See `python/tests/filings
    NickCrews committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    c784f91 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2023

  1. ref: take char*, not PARSE_CONTEXT, as arg to lookupMappings()

    We didn't need all the info that PARSE_CONTEXT contained.
    NickCrews committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    7bc8549 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7427a07 View commit details
    Browse the repository at this point in the history
  3. test: add a unique marker for each test case

    So to run the "trailing_commas" test, you can do:
      pytest -m trailing_commas
    NickCrews committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    18451c1 View commit details
    Browse the repository at this point in the history
  4. ref: Move all form schema lookup logic into mappings.c

    Now there is a single understandable
    `FORM_SCHEMA *lookupSchema(const char *version, int versionLength, const char *form, int formLength);`
    function.
    
    The stuff in fec.c just wraps it with logic specific to FEC_CONTEXT
    NickCrews committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    c17412e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    46db0b4 View commit details
    Browse the repository at this point in the history
  6. ref: rename lookupSchema() to formSchemaLookup()

    and similarly,
    freeSchema() to
    formSchemaFree()
    NickCrews committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    05dccfa View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6772cdc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    93456d3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2e84117 View commit details
    Browse the repository at this point in the history
  10. ref: Rename writeQuotedCsvField() to writeQuotedString()

    This doesn't have to do with csv fields, it's just a raw string.
    NickCrews committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    3dd36c4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    86730f5 View commit details
    Browse the repository at this point in the history
  12. ref: rename PARSE_CONTEXT to CSV_LINE_PARSER

    When I first read this code I was confused as to this structs role.
    NickCrews committed Apr 8, 2023
    Configuration menu
    Copy the full SHA
    dbb7ee8 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    4e5cdd1 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2023

  1. ref: tidy up csv.h

    endOfField() is only used in csv.c so it doesn't need to be declared.
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    b55d079 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    29a73bf View commit details
    Browse the repository at this point in the history
  3. ref: csv: make advanceField() a noop if isParseDone()

    Now the call sites don't have to do the test, and the loop logic is
    much simpler.
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    66ad20d View commit details
    Browse the repository at this point in the history
  4. ref: make setVersion() take explicit str

    Before, it set the version string based on the
    implicit
    ctx->persistentMemory->line->str,
    which was not at all obvious from the call sites.
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    39e5174 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b30a4de View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0d4d3c6 View commit details
    Browse the repository at this point in the history
  7. fix: Fix segfault crash when parsing legacy header

    The testing for whitespace was wrong, which
    meant we never found the version key,
    so we never setVersion(), so in later steps
    we got a null pointer for ctx->version
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    1c8173a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3f75fd1 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    361fac5 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0c2d4e3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d6df47f View commit details
    Browse the repository at this point in the history
  12. Remove extra FEC constant in fec.c

    It is only used in one place, so remove
    one level of indirection
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    9e53f1b View commit details
    Browse the repository at this point in the history
  13. feat: python: prioritize zig-out dir when searching for dll

    First of all this was broken:
    - it always returned os.path.join(PARENT_DIR, files[0]), not
      where we actually found files.
    - The zig build directory wasn't right.
    - Really we want to warn if there are multiple DLLs for a certain dir,
      not for a certain pattern.
    
    Before, I had to run
    - zig build
    - python setup.py
    - pytest
    
    to do a testing cycle.
    Now I don't need the `python setup.py` step.
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    e5a70d6 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    1f9aa57 View commit details
    Browse the repository at this point in the history
  15. ref: const-ify many args

    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    d6d3f5f View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    aea66e9 View commit details
    Browse the repository at this point in the history
  17. ref: explicitly pass NULL for types for header

    We haven't yet set ctx->types yet, so it will always be NULL at
    this point. But make this explicit.
    
    We set ctx->types once we start parsing lines. It would be
    irrelevant to even try to pass something here, because
    there is no entry in the `types` lookup
    table for the `hdr` form.
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    e2abdc9 View commit details
    Browse the repository at this point in the history
  18. ref: fix: make formSchemaFree() safe from NULLS

    in the docstring we say it is, but it wasn't!
    NickCrews committed Apr 10, 2023
    Configuration menu
    Copy the full SHA
    d0d8188 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2023

  1. Configuration menu
    Copy the full SHA
    c531383 View commit details
    Browse the repository at this point in the history
  2. test: add csv_test case

    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    e632121 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    235aaae View commit details
    Browse the repository at this point in the history
  4. ref: improve growStringTo()

    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    3628de1 View commit details
    Browse the repository at this point in the history
  5. fix: don't reallocate extra byte in copyString()

    growStringTo() expects an arg for the total bytes
    needed including the null terminator.
    STRING->n represents exactly this, we don't need
    to compensate with an extra +1 like we do when
    we are reading from a raw `char *`
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    f97e8b1 View commit details
    Browse the repository at this point in the history
  6. ref: don't excessively pass around FEC_CONTEXT to _lineContainsF99Sta…

    …rt() etc
    
    just pass the actual line we are operating on. Alos make them static
    "private" with a leading underscore.
    
    This DOES slightly change the behavior by no longer using
    ctx->currentLineLength, but I think that
    is vestigal and unused anyway, and I'm about
    to remove it.
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    cfcebb9 View commit details
    Browse the repository at this point in the history
  7. ref: remove unused FEC_CONTEXT.currentLineLength, LINE_INFO.length

    These were mistakenly used before, when really we should have been using
    ctx->persistentMemory->line->n
    Now I've switched us to that everywhere, so it's safe to remove this.
    
    This also has the cascading effect of allowing us to simplify the API
    of decodeLine() so it no longer returns anything,
    it just decodes the line.
    
    This also fixes a bug in iso_8859_1_to_utf_8()
    where we didn't increment length when we should have.
    I'm amazed this didn't crash before?
    It makes me nervous that we're not using it correctly
    elsewhere.
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    472104d View commit details
    Browse the repository at this point in the history
  8. fix: fix warning

    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    be55068 View commit details
    Browse the repository at this point in the history
  9. ref: Move date and float csv writing to csv.c

    Also continue removing passing FEC_CONTEXT around willy nilly
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    567e85d View commit details
    Browse the repository at this point in the history
  10. ref: Create CSV_FIELD as first class citizen in csv API

    Now we can pass around this object that contains the parsed
    value, instead of having to deal with
    the pointers in the parser.
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    8c25c50 View commit details
    Browse the repository at this point in the history
  11. ref: tweak csv docstrings

    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    3699c97 View commit details
    Browse the repository at this point in the history
  12. ref: csv: Remove advanceField(), replace columnIndex with numFieldsRead

    I think this API makes more sense. Now
    the parser actis like an iterator. You
    call nextField() to get hte next field and advance.
    No need to do the additional followup step of calling advanceField().
    
    Renaming to numFieldsRead also is more intuitive for the users
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    f7addbb View commit details
    Browse the repository at this point in the history
  13. ref: reduce level of nesting in parseLine()

    Make it a special case to pull out the first column as the form type.
    Now we don't need an if() inside the loop, which is more understandable
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    95d2a5d View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    55c107b View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    1258352 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    e50e4b2 View commit details
    Browse the repository at this point in the history
  17. ref: reduce API of collectLineInfo()

    We don't need the full STRING, so don't ask for it.
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    466cc9e View commit details
    Browse the repository at this point in the history
  18. ref: simplify API of encoding.decodeLine()

    We only were ever using the ascii28 flag from the result,
    so don't pass around the rest of it.
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    4f7a575 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    007c1c8 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    0e846f9 View commit details
    Browse the repository at this point in the history
  21. ref: fix #includes

    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    6401f2b View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    bbe1e7a View commit details
    Browse the repository at this point in the history
  23. ref: cleanup malloc()s, don't cast result

    We get a void * back, so the casts just add clutter.
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    8340587 View commit details
    Browse the repository at this point in the history
  24. ref: re-order stuff in FEC_CONTEXT

    try to put the related things next to each other
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    763fbf9 View commit details
    Browse the repository at this point in the history
  25. ref: make path length calculation make more sense

    put the parts in order
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    1d7af46 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    df17f90 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    6461d00 View commit details
    Browse the repository at this point in the history
  28. ref: calculate outputDir outside of WRITE_CONTEXT

    We might want to write to a different dir and want control
    of that outside of WRITE_CONTEXT
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    4f26872 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    12726ca View commit details
    Browse the repository at this point in the history
  30. ref: one arg per line for newFecContext()

    This is way more readable I think
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    70776ed View commit details
    Browse the repository at this point in the history
  31. ref: label args to newFecContext() in client.py

    It was really hard to tell what each represented
    NickCrews committed Apr 11, 2023
    Configuration menu
    Copy the full SHA
    f7837de View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    91ade4a View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    a524dd7 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    2a790ee View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2023

  1. ref: remove includeFilingId from FEC_CONTEXT

    This can be inferred from whether or not filingID is NULL,
    and now that the WRITE_CONTEXT doesn't depend on the filingId,
    all the filingId processing can happen
    in the callers of newFecContext()
    NickCrews committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    1b8e100 View commit details
    Browse the repository at this point in the history
  2. BREAKING ref: re-order args to newFecContext()

    These "options" should all be near each other.
    NickCrews committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    cc2df27 View commit details
    Browse the repository at this point in the history
  3. ref: rename test case trailing_commas to too_few_fields

    Because I'm about to add another that has extra fields
    and I want to make the distinction
    NickCrews committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    4919d82 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2023

  1. Configuration menu
    Copy the full SHA
    827f903 View commit details
    Browse the repository at this point in the history
  2. test: ref: add helper assert method to better show errors

    when you hit an assert, pytest will show the values of the args
    of the encolsing function.
    Before, you only saw the values to dir1 and dir2,
    but now you can see file1 and file2.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    6005a40 View commit details
    Browse the repository at this point in the history
  3. test: fix slash_form test

    I thought this test indicated a bug in the lib, but
    actually I just wasn't testing it correctly.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    7f5d80b View commit details
    Browse the repository at this point in the history
  4. add types to client.py

    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    0d70f9c View commit details
    Browse the repository at this point in the history
  5. feat: Fail earlier on bad output_directory in parse_as_files()

    Now if the supplied value can't be coerced to
    a Path, you get the error when you first call the function, not when
    the file is opened int he callback.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    dc72c90 View commit details
    Browse the repository at this point in the history
  6. docs: improve docstrings of python API

    make them shorter to conform to line legnth. improve wording a bit.
    dont repeat defaults that are in the funciton
    signature.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    70b3431 View commit details
    Browse the repository at this point in the history
  7. test: better error message on fail

    Now we can see the line of which file.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    4618d74 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5c4c487 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a244b38 View commit details
    Browse the repository at this point in the history
  10. fix: Don't warn on an empty float field

    If we run into a field that is supposed to be a float, but it is an
    empty string, this isn't actually a problem.
    Before, we were throwing a warning.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    56b954c View commit details
    Browse the repository at this point in the history
  11. feat: put quotes around strings in warnings.

    It was hard to tell where the stirng ended before, like
    if it was an empty string.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    5e0cd77 View commit details
    Browse the repository at this point in the history
  12. BREAKING: feat: print correct number of fields be default

    Fixes washingtonpost#24
    
    Before, we printed exactly what was in the .fec file. If a row had
    more fields or fewer fields than we expected from the schema, we
    just printed it as is. This broke downstream
    tooling, such as loading the .csv's into
    databases.
    
    Now, by default we
    - pad short rows with empty fields
    - truncate long rows
    You can get back to the old behavior by setting the `raw` flag to True.
    By default it is False.
    
    Note that this could be BREAKING.
    
    This also adjusts the warnings a bit:
    BEfore, you got a warning for every extra field in a row.
    Now you only get one warning per row, and we print out the full row
    (even though that row is a bit mangled by the csv parser as
    it removes quotes and delimiters)
    
    The tests only currently test the default behavior. A follow up should
    adjust how we define test cases. Currently, we expect a 1:1
    correspondence between an input .fec file and an output. But really we
    want a 1:N relationship, where one .fec file
    can generate multiple outputs depending on the
    options passed. That will require updating our test definition
    format.
    NickCrews committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    8073321 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2023

  1. Update VERSION

    NickCrews authored Jul 29, 2023
    Configuration menu
    Copy the full SHA
    b7eb213 View commit details
    Browse the repository at this point in the history