Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enabled testrepo-based tests on Windows #3975

Merged
merged 10 commits into from Jan 2, 2020
Merged

Enabled testrepo-based tests on Windows #3975

merged 10 commits into from Jan 2, 2020

Conversation

mih
Copy link
Member

@mih mih commented Dec 31, 2019

...as much as feels feasible right now. In any case, this is a huge step forward in terms of critical test coverage on windows. We are now in the position to investigate individual tests, instead of facing global failure.

  • cross-platform implementation of get_local_file_url()
  • basic testrepo setup is running on windows
  • all new test failures due to testrepos being enabled on windows are marked "known" and annotated with a traceback log link
  • addurl is not working on appveyor, fix or disable testrepos on appveyor (leaning towards the latter)

There is still an open issue with get_local_file_ur l() #3977, but given that this is needed for #3966 it will have to come in a separate PR.

datalad/support/network.py Outdated Show resolved Hide resolved
This changes removes the ability to deal with filenames that have
trailing slashes on non-windows systems for reasons of implementation
simplicity. If there are such file names we might reconsider, but I
doubt that any other part of datalad can handle those.

Fixes dataladgh-3974
@codecov
Copy link

codecov bot commented Dec 31, 2019

Codecov Report

Merging #3975 into master will decrease coverage by 0.06%.
The diff coverage is 91.25%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3975      +/-   ##
==========================================
- Coverage   89.78%   89.72%   -0.07%     
==========================================
  Files         271      271              
  Lines       36323    36351      +28     
==========================================
+ Hits        32612    32615       +3     
- Misses       3711     3736      +25
Impacted Files Coverage Δ
datalad/local/tests/test_subdataset.py 100% <100%> (ø) ⬆️
datalad/interface/tests/test_unlock.py 98.09% <100%> (-1.91%) ⬇️
datalad/tests/test_utils_testrepos.py 100% <100%> (+3.22%) ⬆️
datalad/tests/test_auto.py 88.62% <100%> (+0.13%) ⬆️
datalad/support/tests/test_gitrepo.py 99.78% <100%> (-0.11%) ⬇️
datalad/tests/test_testrepos.py 100% <100%> (ø) ⬆️
datalad/core/local/tests/test_run.py 99.55% <100%> (ø) ⬆️
datalad/distribution/tests/test_clone.py 94.83% <100%> (+0.09%) ⬆️
datalad/support/tests/test_annexrepo.py 96.04% <100%> (+0.02%) ⬆️
datalad/distribution/tests/test_get.py 100% <100%> (ø) ⬆️
... and 20 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 430158d...715be1f. Read the comment docs.

@mih mih changed the title BF: cross-platform implementation of get_local_file_url() Enabled testrepo-based tests on Windows Jan 1, 2020
@mih mih added the platform-windows Issue concerned with Windows label Jan 1, 2020
The file:// URLs we generate are not compatible with git submodule
on windows
A bunch of additional tests are running now. Each failure is annotated
with a link the the traceback log.
@mih mih mentioned this pull request Jan 1, 2020
18 tasks
@mih mih added this to Test battery issues in Windows Jan 1, 2020
@mih mih force-pushed the bf-3974 branch 3 times, most recently from d11eef2 to 3039518 Compare January 2, 2020 08:03
Include a (within-file) code move in order to get failure decorators
defined before first use
@mih
Copy link
Member Author

mih commented Jan 2, 2020

Given that this PR makes a number of additional tests run, with relatively minimal impact on behavior on other platforms I'll merge this one now. A follow-up PR will (have to) come with #3977, so potential fixups can be incorporated there.

@mih mih merged commit d4f392f into datalad:master Jan 2, 2020
@mih mih deleted the bf-3974 branch January 2, 2020 09:14
@mih mih moved this from Test battery issues to Done in Windows Mar 12, 2020
kyleam added a commit to kyleam/datalad that referenced this pull request Oct 23, 2020
A good number of test modules no longer show up in the appveyor logs,
including those that test very basic and important functionality
(e.g., GitRepo, save, get, and clone).  It looks like these were lost
starting with dataladgh-3975 (2020-01-02), in particular the last commit of
that series (715be1f).

One change of that commit was to decorate with_testrepos() with
known_failure_appveyor().  (Before the series, the function returned
by with_testrepos() raised a SkipTest if on Windows.)  Based on
replacing the decorator with a plain SkipTest [*], it seems that any
module that uses with_testrepos() isn't executed on appveyor (for
reasons that I don't understand).

Drop the known_failure_appveyor() decorator and instead raise a
SkipTest if on appveyor to restore the execution of tests modules.

Closes datalad#4411.

[*] https://ci.appveyor.com/project/mih/datalad/builds/35927969
kyleam added a commit to kyleam/datalad that referenced this pull request Oct 24, 2020
A good number of test modules no longer show up in the appveyor logs,
including those that test very basic and important functionality
(e.g., GitRepo, save, get, and clone).  It looks like these were lost
starting with dataladgh-3975 (2020-01-02), in particular the last commit of
that series (715be1f).

One change of that commit was to decorate with_testrepos() with
known_failure_appveyor().  (Before the series, the function returned
by with_testrepos() raised a SkipTest if on Windows.)  Based on
replacing the decorator with a plain SkipTest [*], it seems that any
module that uses with_testrepos() isn't executed on appveyor (for
reasons that I don't understand).

Drop the known_failure_appveyor() decorator and instead raise a
SkipTest if on appveyor to restore the execution of these test
modules.

Closes datalad#4411.

[*] https://ci.appveyor.com/project/mih/datalad/builds/35927969
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform-windows Issue concerned with Windows
Projects
No open projects
Windows
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants