Merge pull request #1495 from Exiv2/fix_1274_remove_bash
fix_1274_remove_bash
This commit is contained in:
commit
200611a8eb
@ -86,43 +86,43 @@ add_subdirectory( src )
|
||||
if( EXIV2_BUILD_UNIT_TESTS )
|
||||
add_subdirectory ( unitTests )
|
||||
add_custom_target(unit_test
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make unit_test
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test"
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/unit_test.py
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
|
||||
)
|
||||
endif()
|
||||
|
||||
add_custom_target(version_test
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make version_test
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test"
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/version_test.py
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
|
||||
)
|
||||
|
||||
if( EXIV2_BUILD_SAMPLES )
|
||||
##
|
||||
# tests
|
||||
if( EXIV2_BUILD_UNIT_TESTS )
|
||||
add_custom_target(tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make unit_test
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make bash_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make python_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make version_test
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test"
|
||||
)
|
||||
add_custom_target(tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/unit_test.py
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/testcases.py --verbose
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/version_test.py
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
|
||||
)
|
||||
else()
|
||||
add_custom_target(tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make bash_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make python_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make version_test
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test"
|
||||
)
|
||||
add_custom_target(tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/testcases.py --verbose
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/version_test.py
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
|
||||
)
|
||||
endif()
|
||||
add_custom_target(python_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make python_tests
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test"
|
||||
)
|
||||
add_custom_target(bash_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" make bash_tests
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test"
|
||||
)
|
||||
add_custom_target(python_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
|
||||
)
|
||||
add_custom_target(bash_tests
|
||||
COMMAND env EXIV2_BINDIR="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" python3 runner.py bash_tests/testcases.py --verbose
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/tests"
|
||||
)
|
||||
add_subdirectory( samples )
|
||||
get_directory_property(SAMPLES DIRECTORY samples DEFINITION APPLICATIONS)
|
||||
add_dependencies(tests exiv2lib exiv2 ${SAMPLES})
|
||||
|
||||
2
test/ReadMe.txt
Normal file
2
test/ReadMe.txt
Normal file
@ -0,0 +1,2 @@
|
||||
The test scripts in this directory are not longer in service and will be removed in Exiv2 v0.28
|
||||
The functionality of the scripts in this directory is implemented in tests/bash_tests
|
||||
14
tests/bash_tests/unit_test.py
Normal file
14
tests/bash_tests/unit_test.py
Normal file
@ -0,0 +1,14 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import system_tests
|
||||
import os
|
||||
import unittest
|
||||
|
||||
bSkip=not (os.path.isfile(system_tests.unit_tests) or os.path.isfile(system_tests.unit_tests + '.exe'))
|
||||
if bSkip:
|
||||
msg='*** %s does not exist ***' % system_tests.unit_tests
|
||||
print(msg)
|
||||
raise unittest.SkipTest(msg)
|
||||
|
||||
system_tests.BT.runTest(system_tests.unit_tests,raw=True)
|
||||
print('')
|
||||
@ -687,43 +687,43 @@ def runTestCase(num, img):
|
||||
out += diff('iii', 'ttt')
|
||||
return str(out)
|
||||
|
||||
def runTest(cmd):
|
||||
"""
|
||||
Executes a command in the shell.
|
||||
Add this function at PR <https://github.com/Exiv2/exiv2/pull/1475> .
|
||||
"""
|
||||
exiv2=system_tests.exiv2
|
||||
def runTest(cmd,raw=False):
|
||||
""" Executes a command in the shell. """
|
||||
|
||||
if sys.platform == 'win32':
|
||||
args = cmd
|
||||
else:
|
||||
args = shlex.split(cmd)
|
||||
|
||||
# Updat PATH, LD_LIBRARY_PATH and DYLD_LIBRARY_PATH
|
||||
# Update PATH, LD_LIBRARY_PATH and DYLD_LIBRARY_PATH
|
||||
key = "PATH"
|
||||
bin_dir = os.path.dirname(exiv2)
|
||||
bin_dir = os.path.dirname(system_tests.exiv2)
|
||||
if key in os.environ:
|
||||
os.environ[key] = os.path.join(bin_dir, os.environ[key])
|
||||
else:
|
||||
os.environ[key] = bin_dir
|
||||
|
||||
for key in ["LD_LIBRARY_PATH", "DYLD_LIBRARY_PATH"]:
|
||||
lib_dir = os.path.join(os.path.dirname(os.path.dirname(exiv2)), 'lib')
|
||||
lib_dir = os.path.join(os.path.dirname(os.path.dirname(system_tests.exiv2)), 'lib')
|
||||
if key in os.environ:
|
||||
os.environ[key] = os.path.join(lib_dir, os.environ[key])
|
||||
os.environ[key] = lib_dir + os.pathsep + os.environ[key]
|
||||
else:
|
||||
os.environ[key] = lib_dir
|
||||
|
||||
# Execute the command
|
||||
try:
|
||||
p = subprocess.Popen(args, stdout=subprocess.PIPE, shell=False)
|
||||
stdout, stderr = p.communicate()
|
||||
if p.returncode != 0:
|
||||
print('{} returncode = {}'.format(cmd, p.returncode))
|
||||
# Split the output by newline
|
||||
out = stdout.decode('utf-8').replace('\r', '').rstrip('\n').split('\n')
|
||||
except:
|
||||
print('** {} died **'.format(cmd))
|
||||
if raw:
|
||||
subprocess.Popen(args)
|
||||
out=None
|
||||
else:
|
||||
try:
|
||||
p = subprocess.Popen(args, stdout=subprocess.PIPE, shell=False)
|
||||
stdout, stderr = p.communicate()
|
||||
if p.returncode != 0:
|
||||
print('{} returncode = {}'.format(cmd, p.returncode))
|
||||
# Split the output by newline
|
||||
out = stdout.decode('utf-8').replace('\r', '').rstrip('\n').split('\n')
|
||||
except:
|
||||
print('** {} died **'.format(cmd))
|
||||
|
||||
return out
|
||||
|
||||
|
||||
4
tests/bash_tests/version_test.py
Normal file
4
tests/bash_tests/version_test.py
Normal file
@ -0,0 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import system_tests
|
||||
system_tests.BT.verbose_version(True)
|
||||
@ -1,11 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import system_tests
|
||||
import unittest
|
||||
|
||||
# test needs system_tests.BT.vv.enable_bmff=1
|
||||
enable_bmff = 'enable_bmff'
|
||||
vv=system_tests.BT.verbose_version()
|
||||
bSkip = not (enable_bmff in vv and vv[enable_bmff] == '1')
|
||||
# test needs system_tests.BT.vv['enable_bmff']=1
|
||||
bSkip=system_tests.BT.verbose_version().get('enable_bmff')!='1'
|
||||
if bSkip:
|
||||
raise unittest.SkipTest('*** requires enable_bmff=1 ***')
|
||||
|
||||
class pr_1475_avif_avif(metaclass=system_tests.CaseMeta):
|
||||
url = "https://github.com/Exiv2/exiv2/pull/1475"
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import system_tests
|
||||
import unittest
|
||||
|
||||
# test needs system_tests.BT.vv.enable_bmff=1
|
||||
vv=system_tests.BT.verbose_version()
|
||||
enable_bmff = 'enable_bmff'
|
||||
bSkip = not (enable_bmff in vv and vv[enable_bmff] == '1')
|
||||
# test needs system_tests.BT.vv['enable_bmff']=1
|
||||
bSkip=system_tests.BT.verbose_version().get('enable_bmff')!='1'
|
||||
if bSkip:
|
||||
raise unittest.SkipTest('*** requires enable_bmff=1 ***')
|
||||
|
||||
class pr_1475_2021_heic(metaclass=system_tests.CaseMeta):
|
||||
url = "https://github.com/Exiv2/exiv2/pull/1475"
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import system_tests
|
||||
import unittest
|
||||
|
||||
# test needs system_tests.BT.vv.enable_bmff=1
|
||||
vv=system_tests.BT.verbose_version()
|
||||
enable_bmff = 'enable_bmff'
|
||||
bSkip = not (enable_bmff in vv and vv[enable_bmff] == '1')
|
||||
# test needs system_tests.BT.vv['enable_bmff']=1
|
||||
bSkip=system_tests.BT.verbose_version().get('enable_bmff')!='1'
|
||||
if bSkip:
|
||||
raise unittest.SkipTest('*** requires enable_bmff=1 ***')
|
||||
|
||||
class pr_1475_Sony_hif(metaclass=system_tests.CaseMeta):
|
||||
url = "https://github.com/Exiv2/exiv2/pull/1475"
|
||||
|
||||
@ -24,6 +24,7 @@ valgrind:
|
||||
|
||||
[paths]
|
||||
exiv2: ${ENV:exiv2_path}/exiv2
|
||||
unit_tests: ${ENV:exiv2_path}/unit_tests
|
||||
exiv2json: ${ENV:exiv2_path}/exiv2json
|
||||
data_path: ../test/data
|
||||
tmp_path: ../test/tmp
|
||||
|
||||
Loading…
Reference in New Issue
Block a user