From 49511ae2213f0dc08d837327f66bd34d5537e110 Mon Sep 17 00:00:00 2001 From: layderv Date: Thu, 10 Oct 2019 08:40:00 +0100 Subject: [PATCH] Fixes #1014 Two Nikon lenses still not detected (cherry picked from commit 19d089c5a468efb7c87837b26e6459674965f037) --- README.md | 2 +- test/data/exiv2-bug1014.exv | Bin 0 -> 33389 bytes test/data/exiv2-bug1014_2.exv | Bin 0 -> 11191 bytes tests/bugfixes/github/test_issue_1014.py | 25 +++++++++++++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 test/data/exiv2-bug1014.exv create mode 100644 test/data/exiv2-bug1014_2.exv create mode 100644 tests/bugfixes/github/test_issue_1014.py diff --git a/README.md b/README.md index 5a2dfe18..71bcc0a1 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ cd $EXIV_ROOT mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . -make test +make tests sudo make install ``` diff --git a/test/data/exiv2-bug1014.exv b/test/data/exiv2-bug1014.exv new file mode 100644 index 0000000000000000000000000000000000000000..04ebddecd6833b229c6f7b411d3d852128c25ebb GIT binary patch literal 33389 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