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 test/Makefile all: #1269

Closed
clanmills opened this issue Aug 30, 2020 · 7 comments
Closed

Fix test/Makefile all: #1269

clanmills opened this issue Aug 30, 2020 · 7 comments
Assignees
Labels
testing Anything related to the tests and their infrastructure
Milestone

Comments

@clanmills
Copy link
Collaborator

#1168 (comment)

@clanmills clanmills added the testing Anything related to the tests and their infrastructure label Aug 30, 2020
@clanmills clanmills added this to the v0.27.4 milestone Aug 30, 2020
@clanmills clanmills self-assigned this Aug 30, 2020
@kmilos
Copy link
Collaborator

kmilos commented Sep 2, 2020

FWIW, current (0.27.3) python_tests fails for msys2 builds OOTB since EXIV2_EXT is not defined by cmake, while EXIV2_BINDIR is:

---- Running python_tests ----

bash -c  . functions.source ; cd ../tests ; if [ ! -z  ]; then verbose=--verbose ;fi ; python3 runner.py
Traceback (most recent call last):
  File "runner.py", line 48, in <module>
    system_tests.configure_suite(conf_file)
  File "C:\msys64\home\kmilos\exiv2-0.27.3\tests/system_tests.py", line 175, in configure_suite
    raise ValueError(
ValueError: Path replacement for exiv2: C:/msys64/home/kmilos/build/bin/exiv2 does not exist (was expanded from C:/msys64/home/kmilos/build/bin/exiv2)
make[4]: *** [Makefile:152: python_tests] Error 1
make[3]: *** [CMakeFiles/python_tests.dir/build.make:77: CMakeFiles/python_tests] Error 2
make[2]: *** [CMakeFiles/Makefile2:301: CMakeFiles/python_tests.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:308: CMakeFiles/python_tests.dir/rule] Error 2
make: *** [Makefile:197: python_tests] Error 2

EXIV2_EXT=.exe make python_tests does work, as documented. Any way to improve the OOTB experience?

@clanmills
Copy link
Collaborator Author

clanmills commented Sep 2, 2020

Yes, this is getting attention. PR #1257 in response to proposal #1215. The aim is to only have python_tests and the functionality of bash_tests is being rewritten in python. I discussed killing off EXIV2_EXT with @LeoHsiao1 earlier today.

Are you sure about this? I run those tests frequently (on MinGW/msys2 and cmd.exe) and I don't set either EXIV2_BINDIR or EXIV2_EXT. The defaults work OK for me. Perhaps it creep into the environment from functions.source (which is also heading into history).

@kmilos
Copy link
Collaborator

kmilos commented Sep 2, 2020

Yes, just tried on pristine 0.27.3 source tarball...

EXIV2_BINDIR is taken care of e.g. here.

For bash_tests, EXIV2_EXT is taken care of in functions.source. Seems not so for python_tests...

I'll take look at the other threads and follow up there, and try out master at some point as well.

@clanmills
Copy link
Collaborator Author

clanmills commented Sep 2, 2020

You're welcome to try out master which is to released as 0.28, or possibly 1.0. I'm not involved in that project.

In May 2018, I agreed to be the release engineer for v0.27 and the 0.27 dots while the others refactored the code into C++ for the future.

The LGM Conference (Libre Graphics Meeting) is due to be held in Rennes in May 2021. I'll give have a talk about my book Image Metadata and Exiv2 Architecture and run an afternoon workshop. After LGM/Rennes, I will retire. I'd like to complete the book before my 70th birthday on 2021-01-18. Current status of the book: https://clanmills.com/exiv2/book/

@clanmills clanmills assigned clanmills and unassigned clanmills Sep 4, 2020
@clanmills clanmills changed the title Fix make test Remove EXIV2_EXT from code-base Sep 4, 2020
@clanmills clanmills changed the title Remove EXIV2_EXT from code-base Fix test/Makefile all: Sep 4, 2020
@clanmills
Copy link
Collaborator Author

@LeoHsiao1 There are two different matters here.

1 Fix test/Makefile#45 (as discussed in #1168)
test/Makefile#45 should be:

all: tests

2 Remove EXIV2_EXT from the code base (see comments above by @kmilos)

I've opened a new issue about this #1273.

@LeoHsiao1
Copy link
Contributor

I have received nearly 10 email notifications, and it is good to have your words as a summary.

@clanmills
Copy link
Collaborator Author

I'm going to close this. I don't see an issue here as I believe the test commands in README.md all work as documented.

4.5 Test Summary

Tests Unix Style Platforms (bash) Visual Studio (cmd.exe)
$ cd <exiv2dir>/build or
$ cd <exiv2dir>/test
> cd <exiv2dir>/build
tests $ make tests > cmake --build . --config Release --target tests
bash_tests $ make bash_tests > cmake --build . --config Release --target bash_tests
python_tests $ make python_tests > cmake --build . --config Release --target python_tests
unit_test $ make unit_test > cmake --build . --config Release --target unit_test
version_test $ make version_test > cmake --build . --config Release --target version_test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Anything related to the tests and their infrastructure
Projects
None yet
Development

No branches or pull requests

3 participants