From b21b6cd543bc13af5b1b9c212aafcd070f289201 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 11:41:34 -0800 Subject: [PATCH 01/30] Copy of Eric's fixes Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 ++ .readthedocs.yml | 4 ++++ tests/test_clip.py | 14 ++++++++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index c41ed255d1..881e182b2a 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -98,6 +98,7 @@ jobs: python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] include: - { os: ubuntu-latest, shell: bash } + - { os: ubuntu-22.04, shell: bash, python-version: 3.7 } - { os: macos-latest, shell: bash } - { os: macos-13, shell: bash } - { os: windows-latest, shell: pwsh } @@ -106,6 +107,7 @@ jobs: - { os: macos-latest, python-version: 3.7 } - { os: macos-latest, python-version: 3.8 } - { os: macos-latest, python-version: 3.9 } + - { os: ubuntu-latest, python-version: 3.7 } defaults: run: diff --git a/.readthedocs.yml b/.readthedocs.yml index f0873ba44f..39b7ec9713 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -1,6 +1,10 @@ # required by RTD version: 2 +sphinx: + # Path to your Sphinx configuration file. + configuration: docs/conf.py + build: os: "ubuntu-20.04" tools: diff --git a/tests/test_clip.py b/tests/test_clip.py index cb2dafd7cf..f1712020ba 100644 --- a/tests/test_clip.py +++ b/tests/test_clip.py @@ -63,7 +63,8 @@ def test_str(self): self.assertMultiLineEqual( str(cl), - 'Clip("test_clip", MissingReference(\'\', None, None, {}), None, {})' + 'Clip("test_clip", ' + 'MissingReference(\'\', None, None, {}), None, {}, [], [])' ) self.assertMultiLineEqual( repr(cl), @@ -71,7 +72,9 @@ def test_str(self): "name='test_clip', " 'media_reference={}, ' 'source_range=None, ' - 'metadata={{}}' + 'metadata={{}}, ' + 'effects=[], ' + 'markers=[]' ')'.format( repr(cl.media_reference) ) @@ -87,7 +90,8 @@ def test_str_with_filepath(self): self.assertMultiLineEqual( str(cl), 'Clip(' - '"test_clip", ExternalReference("/var/tmp/foo.mov"), None, {}' + '"test_clip", ' + 'ExternalReference("/var/tmp/foo.mov"), None, {}, [], []' ')' ) self.assertMultiLineEqual( @@ -98,7 +102,9 @@ def test_str_with_filepath(self): "target_url='/var/tmp/foo.mov'" "), " 'source_range=None, ' - 'metadata={}' + 'metadata={}, ' + 'effects=[], ' + 'markers=[]' ')' ) From 6833071abd4795933f608d32f0d2a87651948556 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 11:42:09 -0800 Subject: [PATCH 02/30] Exclude rapidjson from coverage Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36ef428b2b..a349c2bf5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='*/rapidjson/*'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 85a98d81794befbbc0df04116d1e156dabb8a29c Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 11:53:05 -0800 Subject: [PATCH 03/30] Try fixing regex Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a349c2bf5a..2d18a3f6bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='*/rapidjson/*'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='rapidjson/*'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 1d7ed8f8c88980b1eea381216d35d62397ff6eb4 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 13:38:02 -0800 Subject: [PATCH 04/30] Try adding lcov exception Signed-off-by: Darby Johnston --- src/opentimelineio/typeRegistry.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opentimelineio/typeRegistry.h b/src/opentimelineio/typeRegistry.h index a0a6047f7d..f91d91ceaf 100644 --- a/src/opentimelineio/typeRegistry.h +++ b/src/opentimelineio/typeRegistry.h @@ -61,7 +61,7 @@ class TypeRegistry CLASS::Schema::version, &typeid(CLASS), []() -> SerializableObject* { return new CLASS; }, - CLASS::Schema::name); + CLASS::Schema::name); // LCOV_EXCL_EXCEPTION_BR_LINE } /// Register a new schema. From e58b36f2cca924c00dc58ed59dd897f330f8810f Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 13:50:07 -0800 Subject: [PATCH 05/30] Try adding lcov exception Signed-off-by: Darby Johnston --- src/opentimelineio/typeRegistry.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/opentimelineio/typeRegistry.h b/src/opentimelineio/typeRegistry.h index f91d91ceaf..b72f4be3df 100644 --- a/src/opentimelineio/typeRegistry.h +++ b/src/opentimelineio/typeRegistry.h @@ -60,8 +60,8 @@ class TypeRegistry CLASS::Schema::name, CLASS::Schema::version, &typeid(CLASS), - []() -> SerializableObject* { return new CLASS; }, - CLASS::Schema::name); // LCOV_EXCL_EXCEPTION_BR_LINE + []() -> SerializableObject* { return new CLASS; }, // LCOV_EXCL_EXCEPTION_BR_LINE + CLASS::Schema::name); } /// Register a new schema. From f5e80fe054c1d78c55718c0614de2df830e99cf3 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 14:08:47 -0800 Subject: [PATCH 06/30] Try ignoring the geninfo errors Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 +- Makefile | 3 ++- src/opentimelineio/typeRegistry.h | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 881e182b2a..69361b7ef5 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -65,7 +65,7 @@ jobs: if: matrix.os == env.GH_COV_OS && github.actor != env.GH_DEPENDABOT run: | cd ${{ env.OTIO_BUILD_DIR }} - lcov --capture -b . --directory . --output-file=coverage.info -q + lcov --capture -b . --directory . --output-file=coverage.info -q --ignore-errors mismatch cat coverage.info | sed "s/SF:.*src/SF:src/g" > coverage.filtered.info lcov --remove coverage.filtered.info '*/usr/*' --output-file=coverage.filtered.info -q lcov --remove coverage.filtered.info '*/deps/*' --output-file=coverage.filtered.info -q diff --git a/Makefile b/Makefile index 3953557ec9..6bbe0f0d02 100644 --- a/Makefile +++ b/Makefile @@ -93,7 +93,8 @@ ifndef OTIO_CXX_BUILD_TMP_DIR not be found.) endif lcov --rc lcov_branch_coverage=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ - --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q + --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q \ + --ignore-errors mismatch cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g"\ > ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info lcov --rc lcov_branch_coverage=1 --remove ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info '/usr/*' \ diff --git a/src/opentimelineio/typeRegistry.h b/src/opentimelineio/typeRegistry.h index b72f4be3df..a0a6047f7d 100644 --- a/src/opentimelineio/typeRegistry.h +++ b/src/opentimelineio/typeRegistry.h @@ -60,7 +60,7 @@ class TypeRegistry CLASS::Schema::name, CLASS::Schema::version, &typeid(CLASS), - []() -> SerializableObject* { return new CLASS; }, // LCOV_EXCL_EXCEPTION_BR_LINE + []() -> SerializableObject* { return new CLASS; }, CLASS::Schema::name); } From 0d0d5408d85f2fc41dbdd72f208d5da3c8e41ee2 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 14:21:34 -0800 Subject: [PATCH 07/30] Try ignoring the geninfo errors Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 +- Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 69361b7ef5..05bc6b8bc2 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -65,7 +65,7 @@ jobs: if: matrix.os == env.GH_COV_OS && github.actor != env.GH_DEPENDABOT run: | cd ${{ env.OTIO_BUILD_DIR }} - lcov --capture -b . --directory . --output-file=coverage.info -q --ignore-errors mismatch + lcov --capture -b . --directory . --output-file=coverage.info -q --ignore-errors gcov cat coverage.info | sed "s/SF:.*src/SF:src/g" > coverage.filtered.info lcov --remove coverage.filtered.info '*/usr/*' --output-file=coverage.filtered.info -q lcov --remove coverage.filtered.info '*/deps/*' --output-file=coverage.filtered.info -q diff --git a/Makefile b/Makefile index 6bbe0f0d02..9ae9d64d26 100644 --- a/Makefile +++ b/Makefile @@ -94,7 +94,7 @@ ifndef OTIO_CXX_BUILD_TMP_DIR endif lcov --rc lcov_branch_coverage=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q \ - --ignore-errors mismatch + --ignore-errors gcov cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g"\ > ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info lcov --rc lcov_branch_coverage=1 --remove ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info '/usr/*' \ From 0bce96f4951e42a96d9f7644b9581843d8f453c1 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 14:32:46 -0800 Subject: [PATCH 08/30] Try excluding typeRegistry.h from coverage Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 +- CMakeLists.txt | 2 +- Makefile | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 05bc6b8bc2..881e182b2a 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -65,7 +65,7 @@ jobs: if: matrix.os == env.GH_COV_OS && github.actor != env.GH_DEPENDABOT run: | cd ${{ env.OTIO_BUILD_DIR }} - lcov --capture -b . --directory . --output-file=coverage.info -q --ignore-errors gcov + lcov --capture -b . --directory . --output-file=coverage.info -q cat coverage.info | sed "s/SF:.*src/SF:src/g" > coverage.filtered.info lcov --remove coverage.filtered.info '*/usr/*' --output-file=coverage.filtered.info -q lcov --remove coverage.filtered.info '*/deps/*' --output-file=coverage.filtered.info -q diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d18a3f6bd..187368d038 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='rapidjson/*'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='rapidjson/*' -fprofile-exclude-files=src/opentimelineio/typeRegistry.h") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") diff --git a/Makefile b/Makefile index 9ae9d64d26..3953557ec9 100644 --- a/Makefile +++ b/Makefile @@ -93,8 +93,7 @@ ifndef OTIO_CXX_BUILD_TMP_DIR not be found.) endif lcov --rc lcov_branch_coverage=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ - --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q \ - --ignore-errors gcov + --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g"\ > ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info lcov --rc lcov_branch_coverage=1 --remove ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info '/usr/*' \ From 1d527ce0dd4cfa8c047c7307965e76e498cf806b Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 14:45:54 -0800 Subject: [PATCH 09/30] Path fix Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 187368d038..509cff8b18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='rapidjson/*' -fprofile-exclude-files=src/opentimelineio/typeRegistry.h") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='src/deps/rapidjson/*' -fprofile-exclude-files=src/opentimelineio/typeRegistry.h") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 560dd7f8243d2588f5c0f679d5ec686517098b41 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 14:54:32 -0800 Subject: [PATCH 10/30] Path fix Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 509cff8b18..f4876e7b59 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='src/deps/rapidjson/*' -fprofile-exclude-files=src/opentimelineio/typeRegistry.h") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='${PROJECT_SOURCE_DIR}/src/deps/rapidjson/*' -fprofile-exclude-files=${PROJECT_SOURCE_DIR}/src/opentimelineio/typeRegistry.h") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From cf105a3f0a6880634708d4640df0c2b3bc1e6419 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 14:59:23 -0800 Subject: [PATCH 11/30] Path fix Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f4876e7b59..eb86abc88d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='${PROJECT_SOURCE_DIR}/src/deps/rapidjson/*' -fprofile-exclude-files=${PROJECT_SOURCE_DIR}/src/opentimelineio/typeRegistry.h") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files=${PROJECT_SOURCE_DIR}/src/deps/rapidjson/* -fprofile-exclude-files=${PROJECT_SOURCE_DIR}/src/opentimelineio/typeRegistry.h") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 9e3aa8d1ac5058a6cbd05fc751e26787de38688f Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 15:08:47 -0800 Subject: [PATCH 12/30] Path fix Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb86abc88d..621fbd8d4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files=${PROJECT_SOURCE_DIR}/src/deps/rapidjson/* -fprofile-exclude-files=${PROJECT_SOURCE_DIR}/src/opentimelineio/typeRegistry.h") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 85d861e2ac9197dedd5b10d8b173448de51e7972 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 15:17:00 -0800 Subject: [PATCH 13/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 621fbd8d4d..cfc6e8f604 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 3c151288cf978081211a31ac0e42f66f3c10131f Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 15:27:44 -0800 Subject: [PATCH 14/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cfc6e8f604..f8c4521de3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From e228948a8f0c65b5ea7c00343f3747fe843b0e6e Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 15:55:28 -0800 Subject: [PATCH 15/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f8c4521de3..7004e25a89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 202fef39c63e24da4bbd79da94109c880807a8dc Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:02:17 -0800 Subject: [PATCH 16/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7004e25a89..c8976fb575 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/rapidjson/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 1e354aa47ab8447514c367ea20535689988e2240 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:13:16 -0800 Subject: [PATCH 17/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c8976fb575..e45a05f642 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 3e1da11a055ad0784cdb805999dc3e9a6e56c52e Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:21:55 -0800 Subject: [PATCH 18/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e45a05f642..6d3a3d97a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 8f456ba24e9d4182d4b719c02e323b1aa123161c Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:28:24 -0800 Subject: [PATCH 19/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d3a3d97a9..7f8df3d2ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 02e7d135b24f54604500b29c5415fb95fad97223 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:35:21 -0800 Subject: [PATCH 20/30] Remove redundant filtering Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 -- Makefile | 6 +----- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 881e182b2a..99ae0b87aa 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -67,8 +67,6 @@ jobs: cd ${{ env.OTIO_BUILD_DIR }} lcov --capture -b . --directory . --output-file=coverage.info -q cat coverage.info | sed "s/SF:.*src/SF:src/g" > coverage.filtered.info - lcov --remove coverage.filtered.info '*/usr/*' --output-file=coverage.filtered.info -q - lcov --remove coverage.filtered.info '*/deps/*' --output-file=coverage.filtered.info -q lcov --remove coverage.filtered.info '*/tests/*' --output-file=coverage.filtered.info -q lcov --list coverage.filtered.info # \todo Should the Codecov web pages show the results of the C++ or Python tests? diff --git a/Makefile b/Makefile index 3953557ec9..ace65dfb99 100644 --- a/Makefile +++ b/Makefile @@ -94,12 +94,8 @@ ifndef OTIO_CXX_BUILD_TMP_DIR endif lcov --rc lcov_branch_coverage=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q - cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g"\ + cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g" \ > ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info - lcov --rc lcov_branch_coverage=1 --remove ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info '/usr/*' \ - --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info -q - lcov --rc lcov_branch_coverage=1 --remove ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info '*/deps/*' \ - --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info -q rm ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info lcov --list ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info From a30dc741a2b68524fee3368540d457aa4c487047 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:44:04 -0800 Subject: [PATCH 21/30] Debugging Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7f8df3d2ba..7a1dc2b5f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From a473e024c35952987b2e9fd2ed013855c533318a Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 16:51:44 -0800 Subject: [PATCH 22/30] Add comment Signed-off-by: Darby Johnston --- CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a1dc2b5f6..5d29fcafdd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,7 +150,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*'") + # Note that we exclude some OTIO files from code coverage since they are + # causing errors like this: + # geninfo: ERROR: "typeRegistry.h":63: mismatched exception tag for id 3, 3: '0' -> '1' + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From aaedcc6986d4c4fe90e1c3316a5392fc06fade69 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 17:11:26 -0800 Subject: [PATCH 23/30] Try no_exception_branch Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 +- CMakeLists.txt | 2 +- Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 99ae0b87aa..933c2a2cb0 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -65,7 +65,7 @@ jobs: if: matrix.os == env.GH_COV_OS && github.actor != env.GH_DEPENDABOT run: | cd ${{ env.OTIO_BUILD_DIR }} - lcov --capture -b . --directory . --output-file=coverage.info -q + lcov --rc lcov_branch_coverage=1 --rc no_exception_branch=1 --capture -b . --directory . --output-file=coverage.info -q cat coverage.info | sed "s/SF:.*src/SF:src/g" > coverage.filtered.info lcov --remove coverage.filtered.info '*/tests/*' --output-file=coverage.filtered.info -q lcov --list coverage.filtered.info diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d29fcafdd..17bef93ff7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,7 +153,7 @@ if(OTIO_CXX_COVERAGE AND NOT MSVC) # Note that we exclude some OTIO files from code coverage since they are # causing errors like this: # geninfo: ERROR: "typeRegistry.h":63: mismatched exception tag for id 3, 3: '0' -> '1' - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/opentimelineio/typeRegistry.h;src/opentimelineio/serialization.cpp;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_tests.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") diff --git a/Makefile b/Makefile index ace65dfb99..7154a75dcc 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ ifndef OTIO_CXX_BUILD_TMP_DIR C++ coverage will not work, because intermediate build products will \ not be found.) endif - lcov --rc lcov_branch_coverage=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ + lcov --rc lcov_branch_coverage=1 --rc no_exception_branch=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g" \ > ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info From dfed0cf07295ddeab993087afd94f8d11f109126 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 17:20:30 -0800 Subject: [PATCH 24/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17bef93ff7..db8d66be37 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -152,8 +152,8 @@ set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) # Note that we exclude some OTIO files from code coverage since they are # causing errors like this: - # geninfo: ERROR: "typeRegistry.h":63: mismatched exception tag for id 3, 3: '0' -> '1' - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*'") + # geninfo: ERROR: mismatched end line for PyInit__opentime at opentime_bindings.cpp: + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From caa7fbeb913dfe371672b96bad202adf6d966d4a Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 17:23:08 -0800 Subject: [PATCH 25/30] Add path Signed-off-by: Darby Johnston --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index db8d66be37..999d2ace1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,7 +153,7 @@ if(OTIO_CXX_COVERAGE AND NOT MSVC) # Note that we exclude some OTIO files from code coverage since they are # causing errors like this: # geninfo: ERROR: mismatched end line for PyInit__opentime at opentime_bindings.cpp: - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") From 887dc4e447df0f094ab54392af263aa4ed1e55eb Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Thu, 16 Jan 2025 17:37:12 -0800 Subject: [PATCH 26/30] Try ignoring errors Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 +- CMakeLists.txt | 2 +- Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 933c2a2cb0..65ca0a53e6 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -65,7 +65,7 @@ jobs: if: matrix.os == env.GH_COV_OS && github.actor != env.GH_DEPENDABOT run: | cd ${{ env.OTIO_BUILD_DIR }} - lcov --rc lcov_branch_coverage=1 --rc no_exception_branch=1 --capture -b . --directory . --output-file=coverage.info -q + lcov --rc lcov_branch_coverage=1 --rc no_exception_branch=1 --ignore-errors mismatch --capture -b . --directory . --output-file=coverage.info -q cat coverage.info | sed "s/SF:.*src/SF:src/g" > coverage.filtered.info lcov --remove coverage.filtered.info '*/tests/*' --output-file=coverage.filtered.info -q lcov --list coverage.filtered.info diff --git a/CMakeLists.txt b/CMakeLists.txt index 999d2ace1c..0e3d63f35d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -153,7 +153,7 @@ if(OTIO_CXX_COVERAGE AND NOT MSVC) # Note that we exclude some OTIO files from code coverage since they are # causing errors like this: # geninfo: ERROR: mismatched end line for PyInit__opentime at opentime_bindings.cpp: - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*;src/py-opentimelineio/opentime-bindings/opentime_bindings.cpp;src/py-opentimelineio/opentimelineio-bindings/otio_bindings.cpp'") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) message(STATUS "Building C++ with Coverage: ON") diff --git a/Makefile b/Makefile index 7154a75dcc..f1fc21b071 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ ifndef OTIO_CXX_BUILD_TMP_DIR C++ coverage will not work, because intermediate build products will \ not be found.) endif - lcov --rc lcov_branch_coverage=1 --rc no_exception_branch=1 --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ + lcov --rc lcov_branch_coverage=1 --rc no_exception_branch=1 --ignore-errors mismatch --capture -b . --directory ${OTIO_CXX_BUILD_TMP_DIR} \ --output-file=${OTIO_CXX_BUILD_TMP_DIR}/coverage.info -q cat ${OTIO_CXX_BUILD_TMP_DIR}/coverage.info | sed "s/SF:.*src/SF:src/g" \ > ${OTIO_CXX_BUILD_TMP_DIR}/coverage.filtered.info From 897f989deb902d4be3c13f9228398f1af860232f Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Fri, 17 Jan 2025 11:10:10 -0800 Subject: [PATCH 27/30] Try removing pip install Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 65ca0a53e6..bd35e7c815 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -131,9 +131,6 @@ jobs: mingw-w64-x86_64-cmake make git - - name: Ensure MSYS2 pip is updated - if: matrix.python-version == 'mingw64' - run: curl -sS https://bootstrap.pypa.io/get-pip.py | python - name: Set up Python ${{ matrix.python-version }} if: matrix.python-version != 'mingw64' uses: actions/setup-python@v4.3.0 From fea49ee9f690e8abd4fe4fe15e0b3944817c22cc Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Fri, 17 Jan 2025 11:27:41 -0800 Subject: [PATCH 28/30] Try adding command line flag Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index bd35e7c815..66fd4c0dde 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -149,7 +149,7 @@ jobs: - name: Build and Install run: | # compile and install into virtualenv/virtual machine (verbosely) - pip install .[dev] -v + pip install .[dev] -v --break-system-packages - name: Run tests w/ python coverage run: make ci-postbuild # (only on ubuntu/pyhton3.7) From 71c73e36403952ae2d3a7d6b5b010dc70a8b7046 Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Fri, 17 Jan 2025 16:48:37 -0800 Subject: [PATCH 29/30] Remove outdated comment Signed-off-by: Darby Johnston --- .github/workflows/python-package.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 66fd4c0dde..54a255517f 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -148,7 +148,6 @@ jobs: run: make ci-prebuild - name: Build and Install run: | - # compile and install into virtualenv/virtual machine (verbosely) pip install .[dev] -v --break-system-packages - name: Run tests w/ python coverage run: make ci-postbuild From f9f273988cd34db0d42b0574c0c69a47c3db0f9c Mon Sep 17 00:00:00 2001 From: Darby Johnston Date: Sat, 18 Jan 2025 11:08:56 -0800 Subject: [PATCH 30/30] Remove outdated comment Signed-off-by: Darby Johnston --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e3d63f35d..7a1dc2b5f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -150,9 +150,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(OTIO_CXX_COVERAGE AND NOT MSVC) - # Note that we exclude some OTIO files from code coverage since they are - # causing errors like this: - # geninfo: ERROR: mismatched end line for PyInit__opentime at opentime_bindings.cpp: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage -fprofile-update=atomic -fprofile-exclude-files='/usr/*;src/deps/*'") # this causes cmake to produce file.gcno instead of file.cpp.gcno set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1)