Skip to content

CodeCov uses package namespace#30344

Merged
scbedd merged 1 commit intoAzure:mainfrom
scbedd:hotfix/resolve-missing-codecov
May 10, 2023
Merged

CodeCov uses package namespace#30344
scbedd merged 1 commit intoAzure:mainfrom
scbedd:hotfix/resolve-missing-codecov

Conversation

@scbedd
Copy link
Member

@scbedd scbedd commented May 10, 2023

For azure-storage-file-share and azure-storage-file-datalake

The reason for the missing modules was because we were not using a well-founded namespace from our package metadata function.

# BEFORE
argument_to_pytest="--cov=azure.storage.file.share"

# AFTER
argument_to_pytest="--cov=azure.storage.fileshare"

Telling coverage to watch module X and then testing against module Y is a good way to get 0 coverage data 👍

Resolves #30295

@scbedd scbedd self-assigned this May 10, 2023
@scbedd scbedd changed the title Identify issue with missing codecov CodeCov uses package namespace May 10, 2023
@scbedd scbedd requested a review from jalauzon-msft May 10, 2023 20:27
@scbedd
Copy link
Member Author

scbedd commented May 10, 2023

successful build

@scbedd
Copy link
Member Author

scbedd commented May 10, 2023

/check-enforcer override

@scbedd scbedd merged commit d549cfa into Azure:main May 10, 2023
scbedd added a commit to kdestin/azure-sdk-for-python that referenced this pull request May 11, 2023
lmazuel pushed a commit that referenced this pull request May 23, 2023
* Remove references to {envbindir}

    tox prepends the {env_bin_dir} to $PATH, so commands
    will default to using the virtual environment first.

    See: https://tox.wiki/en/4.4.11/config.html#commands

    One of tox's core maintainers also discourages its use:
      tox-dev/tox#2909 (comment)

* refactor: Write paths relative to git root, instead of package dir

    Uses an inline plugin (toxfile.py) to make a computed config
    value avaiable to tox environments.

* refactor: Rename {toxinidir} to {tox_root}

    {toxinidir} is an alias for {tox_root}, but {tox_root} is:
      * More clear: {tox_root} isn't necessarily where the ini file is
      * Shorter

* refactor: Flatten some commands that are no longer super long

* refactor: Make a pytest section

* refactor: Remove `changedir = {tox_root}`

    This is the default behavior, see:

    https://tox.wiki/en/4.4.11/config.html#change_dir-external

* fix: {distdir} is deprecated

    See: https://tox.wiki/en/latest/upgrading.html#removed-tox-ini-keys

* fix: Remove --ignore-installed from pip command

    --ignore-installed can break a python installation if multiple
    conflicting versions of a package are installed

* refactor: Add descriptions to all tox environments

* fix: Remove ineffective platform config

    platform = linux: linux
               macos: darwin
               windows: win32

    Setting the above in the base environment has no effect:
        * None of the environments have {linux,macos,windows} in the
          name, so the platform config is always empty.

* chore: Bump `tox` to `>4.4.11` and no longer install `tox-monorepo`

    tox4 natively solves what `tox-monorepo` was written to solve:
    `--root` lets you set `toxinidir` independently of the config
    file in use.

    4.4.11 was chosen as the cutoff since it was the first release to
    include a fix to `--root` that prevented `{work_dir}` from being
    changed when `{toxinidir}` was changed by `--root`.

    `tox-monorepo` should no longer be needed

* docs: Update CONTRIBUTING.md to use tox 4 commands

    * References to tox-monorepo were removed
    * Replaced discussion of `tox -l` with tox4's `tox list`
    * Updated examples to use `--root`

* docs: Make `azure-media-{videoanalyzer,analytics}-edge`'s DevTips.md point to CONTRIBUTING.md for tox

* docs: Remove remaining references to tox-monorepo

* doc: Use `--root` throughout documentation

* engsys: Make tox_harness set `{toxinidir}` when invoking tox

* engsys: Set required tox version in config

* docs: Use the new url for tox docs

* docs: Add a callout that TOX_* environment variables control defaults

    * TOX_CONFIG_DIR can be used to permanently set --conf
    * TOX_ROOT_DIR can be used to permanently set --root

* update packaging requirement everywhere it is used.

* fix cspell

* docs: Use `tox run` syntax throughout documentation

* engsys: Use `tox run` syntax in tox_harness.py

* docs: Replace – (U+2013 : EN DASH) with - (ASCII code 45)

* update pytest requirements + coverage.

* update virtualenv

* more conflicts resolved

* bringing in urllib3 restriction, aligning ci_tools.txt with test_tools.txt

* check_call requires a list of type string. if we append ['blah', 'blah'] we are actually inserting another array. just use regular array concatenation

* engsys: Tox uses `run` for serial execution and `run-parallel` for parallel`

* azure-core: Use `@pytest_asyncio.fixture` to mark an asyncio fixture

    See https://pytest-asyncio.readthedocs.io/en/latest/concepts.html#strict-mode

* pin coverage to newer version with no conflicts

* identify issue with missing code coverage being caused by wrongly named namespace (#30344)

* remove fix of dotfile!

* apply black formatting to resolve failing analyze step

* tox installing tox. probably not a good thing :)

* engsys: Remove `tox` from `azure-media-analytics-edge` dev_requirements

* align regression version of ci/test_tools.txt

* new coverage format requires that the package sources be present when combining .coverage files. amend our tox tree cleanup to exclude the whl directory when running coverage.

* ensure that missing hidden folder can't break cleanup operation

* ensure coverage isn't generated on whl_no_aio

* ensure that coverage is generated without wonky package paths

---------

Co-authored-by: scbedd <45376673+scbedd@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Coverage not properly generating

2 participants