diff --git a/.github/workflows/build-macos-28.yml b/.github/workflows/build-macos-28.yml index ccad386..51dfad7 100644 --- a/.github/workflows/build-macos-28.yml +++ b/.github/workflows/build-macos-28.yml @@ -3,7 +3,7 @@ on: workflow_dispatch jobs: build: - runs-on: macos-latest + runs-on: macos-13 steps: - name: Check out repository code uses: actions/checkout@v4 diff --git a/.github/workflows/build-macos-arm-28.yml b/.github/workflows/build-macos-arm-28.yml index b988c88..f8f3e97 100644 --- a/.github/workflows/build-macos-arm-28.yml +++ b/.github/workflows/build-macos-arm-28.yml @@ -3,7 +3,7 @@ on: workflow_dispatch jobs: build: - runs-on: flyci-macos-large-latest-m1 + runs-on: macos-latest steps: - name: Check out repository code uses: actions/checkout@v4 @@ -20,9 +20,6 @@ jobs: tar -xzf exiv2.tar.gz mv exiv2-0.28.3 libexiv2 - - name: Install pipx - run: pip install pipx - - name: Build wheels uses: pypa/cibuildwheel@v2.16.5 env: diff --git a/.github/workflows/build-windows-28.yml b/.github/workflows/build-windows-28.yml index 8552c09..dfec3d7 100644 --- a/.github/workflows/build-windows-28.yml +++ b/.github/workflows/build-windows-28.yml @@ -36,6 +36,35 @@ jobs: echo -e "24a25\n> self.requires('libgettext/0.21')" | c:/msys64/usr/bin/patch.exe libexiv2/conanfile.py + - name: Install Python + uses: actions/setup-python@v5 + with: + python-version: 3.11 + + - name: Install cmake + uses: jwlawson/actions-setup-cmake@v2 + + - name: Install ninja + uses: seanmiddleditch/gha-setup-ninja@master + + - name: Compile Exiv2 + env: + PATH: "${{ github.workspace }}\\gettext\\bin" + run: > + pip install conan==1.59.0 && + cd libexiv2 && + cmake --preset msvc + -D CMAKE_BUILD_TYPE=Release + -D EXIV2_BUILD_SAMPLES=OFF + -D EXIV2_BUILD_EXIV2_COMMAND=OFF + -D EXIV2_BUILD_UNIT_TESTS=OFF + -D EXIV2_ENABLE_NLS=ON + -D EXIV2_ENABLE_FILESYSTEM_ACCESS=ON + -G "Visual Studio 16 2019" && + cmake --build build-msvc --config Release && + cmake --install build-msvc --config Release && + copy build-msvc\bin\libcurl.dll build-msvc\install\bin + - name: Build wheels uses: pypa/cibuildwheel@v2.16.5 env: @@ -43,24 +72,9 @@ jobs: CIBW_SKIP: pp3* CIBW_ENVIRONMENT: | EXIV2_ROOT=libexiv2/build-msvc/install - PATH="$PATH;$(pwd)\\gettext\\bin" CIBW_TEST_COMMAND: > python -m exiv2 -v && python -m unittest discover {project}/tests -v - CIBW_BEFORE_ALL: > - pip install conan==1.59.0 && - cd libexiv2 && - cmake --preset msvc - -D CMAKE_BUILD_TYPE=Release - -D EXIV2_BUILD_SAMPLES=OFF - -D EXIV2_BUILD_EXIV2_COMMAND=OFF - -D EXIV2_BUILD_UNIT_TESTS=OFF - -D EXIV2_ENABLE_NLS=ON - -D EXIV2_ENABLE_FILESYSTEM_ACCESS=ON - -G "Visual Studio 16 2019" && - cmake --build build-msvc --config Release && - cmake --install build-msvc --config Release && - copy build-msvc\bin\libcurl.dll build-msvc\install\bin - name: Store results uses: actions/upload-artifact@v4 diff --git a/tests/test_types.py b/tests/test_types.py index de7359b..8fc69da 100644 --- a/tests/test_types.py +++ b/tests/test_types.py @@ -138,10 +138,9 @@ def test_localisation(self): self.assertEqual(cm.output, [ 'WARNING:exiv2:Ungültiger Zeichensatz: "invalid"']) with self.assertRaises(exiv2.Exiv2Error) as cm: - image = exiv2.ImageFactory.open('non-existing.jpg') - self.assertEqual(cm.exception.message.split(':')[:2], - ['non-existing.jpg', - ' Die Datenquelle konnte nicht geöffnet werden']) + image = exiv2.ImageFactory.open(bytes()) + self.assertEqual(cm.exception.message, + 'Die Eingabedaten konnten nicht gelesen werden.') # clear locale name = 'en_US.UTF-8' os.environ['LC_ALL'] = name