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

Fix generic importer tests that implicitly depend on libmagic #74

Merged
merged 1 commit into from
Dec 5, 2020

Commits on Dec 5, 2020

  1. Fix tests that implicitly depend on libmagic

    The generic importer source takes a directory, looks at all files in
    that directory recursively, and then filters down to the files that are
    of the right type for its importer. The tests for it point it to a
    directory that contains not only the test source CSV file, but also the
    test verification beancount and JSON files.
    
    I haven't verified, but I'm guessing this worked for the original author
    because they had `python-magic` and `libmagic` installed. But without
    those installed, beancount's file-identification fails (ironically) on
    the `.beancount` files, causing these tests to fail.
    
    Since `libmagic` is supposed to be an optional dependency of beancount,
    and it can't be listed as an automatic test dependency (since it's not a
    Python library), the tests should not require it in order to pass.
    
    This behavior of the generic importer (silently excluding files of a
    type it doesn't know how to handle) seems a bit too magical and implicit
    for my tastes, but since I didn't author and don't use this importer I'm
    not changing its behavior. Instead I just rearranged the test data
    directory so the source CSV file is in its own subdirectory, eliminating
    the problem of making the importer identify the various other test
    support files.
    
    With this PR all tests are green again, even without `libmagic`
    installed.
    carljm committed Dec 5, 2020
    Configuration menu
    Copy the full SHA
    1cedf93 View commit details
    Browse the repository at this point in the history