Skip to content

Commit

Permalink
Improve coverage (#263)
Browse files Browse the repository at this point in the history
Switch to using clang's source-based code coverage.
  • Loading branch information
robomics committed Sep 30, 2024
1 parent 3c04ff4 commit 124d606
Show file tree
Hide file tree
Showing 14 changed files with 437 additions and 94 deletions.
263 changes: 170 additions & 93 deletions .github/workflows/codecov.yml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,17 @@
#
# SPDX-License-Identifier: MIT

import os
import pathlib
import subprocess as sp


def version(hictk: pathlib.Path) -> str:
ver = sp.check_output([str(hictk), "--version"], encoding="utf-8").strip()
env_variables = os.environ.copy()
if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", "%p")

ver = sp.check_output([str(hictk), "--version"], encoding="utf-8", env=env_variables).strip()
if ver.startswith("hictk"):
return ver.removeprefix("hictk-")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: MIT

import os
import pathlib
from datetime import timedelta
from timeit import default_timer as timer
Expand Down Expand Up @@ -131,6 +132,14 @@ def run(
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
t1 = timer()
Expand Down
9 changes: 9 additions & 0 deletions test/integration/src/hictk_integration_suite/tests/balance.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT

import logging
import os
import pathlib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -137,6 +138,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
9 changes: 9 additions & 0 deletions test/integration/src/hictk_integration_suite/tests/convert.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: MIT
import logging
import os
from timeit import default_timer as timer
from typing import Any, Dict, List

Expand Down Expand Up @@ -107,6 +108,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
9 changes: 9 additions & 0 deletions test/integration/src/hictk_integration_suite/tests/dump.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: MIT
import logging
import os
from timeit import default_timer as timer
from typing import Any, Dict, List

Expand Down Expand Up @@ -138,6 +139,14 @@ def run( # noqa
else:
colnames = None

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import json
import logging
import os
import pathlib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -67,6 +68,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
9 changes: 9 additions & 0 deletions test/integration/src/hictk_integration_suite/tests/load.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT

import logging
import os
import pathlib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -78,6 +79,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
9 changes: 9 additions & 0 deletions test/integration/src/hictk_integration_suite/tests/merge.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT

import logging
import os
import pathlib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -91,6 +92,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

import json
import logging
import os
import tomllib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -123,6 +124,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT

import logging
import os
import pathlib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -146,6 +147,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT

import logging
import os
from timeit import default_timer as timer
from typing import Any, Dict, List

Expand Down Expand Up @@ -73,6 +74,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
9 changes: 9 additions & 0 deletions test/integration/src/hictk_integration_suite/tests/zoomify.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT

import logging
import os
import pathlib
from timeit import default_timer as timer
from typing import Any, Dict, List
Expand Down Expand Up @@ -112,6 +113,14 @@ def run( # noqa
self._args = args
self._expect_failure = expect_failure

if env_variables is None:
env_variables = os.environ.copy()
else:
env_variables = dict(env_variables.copy())

if "LLVM_PROFILE_FILE" in env_variables:
env_variables["LLVM_PROFILE_FILE"] = env_variables["LLVM_PROFILE_FILE"].replace("%id", str(id))

t0 = timer()
try:
self._run_hictk(args, timeout=timeout, env_variables=env_variables, max_attempts=max_attempts)
Expand Down
Loading

0 comments on commit 124d606

Please sign in to comment.