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

ENH: appveyor -- use newer git-annex + try to re-enable codecov submission #5125

Merged
merged 13 commits into from Nov 6, 2020

Conversation

yarikoptic
Copy link
Member

@yarikoptic yarikoptic commented Nov 4, 2020

TODOs:

  • Switch to win10-like test environment
  • Switch to PY37. @mih thinks there is no point in supporting outdated environment at this point. However PY38 is not fully functional on the current appveyor build image. So PY37
  • split into multiple test runs
  • also execute known2fail test modules in an allowed-failure test run, so we can detect improvements more easily and move tests into proper test runs accordingly
  • fixup testing
  • remove TEMP removing all other CIs
  • figure out or giveup (again) on codecov submission (@mih: I removed the blind re-enabling again, for now, did not work out)

@yarikoptic
Copy link
Member Author

ok, not too bad -- 2 failures

======================================================================
FAIL: datalad.core.local.tests.test_status.test_status_symlinked_dir_within_repo
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Miniconda35\envs\test-environment\lib\site-packages\nose\case.py", line 198, in runTest
    self.test(*self.arg)
  File "C:\Miniconda35\envs\test-environment\lib\site-packages\datalad\tests\utils.py", line 750, in _wrap_with_tempfile
    return t(*(arg + (filename,)), **kw)
  File "C:\Miniconda35\envs\test-environment\lib\site-packages\datalad\core\local\tests\test_status.py", line 277, in test_status_symlinked_dir_within_repo
    call()
AssertionError: CommandError not raised
-------------------- >> begin captured logging << --------------------
asyncio: DEBUG: Using proactor: IocpProactor
asyncio: DEBUG: taking long time to close proactor
asyncio: DEBUG: Using proactor: IocpProactor
asyncio: DEBUG: taking long time to close proactor
asyncio: DEBUG: Using proactor: IocpProactor
asyncio: DEBUG: taking long time to close proactor
--------------------- >> end captured logging << ---------------------
======================================================================
FAIL: datalad.support.tests.test_annexrepo.test_AnnexRepo_always_commit
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Miniconda35\envs\test-environment\lib\site-packages\nose\case.py", line 198, in runTest
    self.test(*self.arg)
  File "C:\Miniconda35\envs\test-environment\lib\site-packages\datalad\tests\utils.py", line 750, in _wrap_with_tempfile
    return t(*(arg + (filename,)), **kw)
  File "C:\Miniconda35\envs\test-environment\lib\site-packages\datalad\support\tests\test_annexrepo.py", line 724, in test_AnnexRepo_always_commit
    eq_(get_annex_commit_counts(), n_annex_commits_initial + 1)
AssertionError: 4 != 3
-------------------- >> begin captured logging << --------------------
asyncio: DEBUG: Using proactor: IocpProactor
asyncio: DEBUG: taking long time to close proactor

in addition to one known one

@yarikoptic
Copy link
Member Author

yarikoptic commented Nov 4, 2020

pushed workaround (well -- just not expecting expected behavior, no change in "windows testiness" since were not testing before either due to older annex version) for the first failure. The 2nd failure -- looks legit issue with annex that it does add a commit to git-annex branch even if was ran with always.commit set to False, doesn't replicate locally with crippled fs, so might be indeed windows specific, and regression (if was ran/passed before, didn't double check). So needs a skip (to get going) or someone to look into it/report. your desires? (possibly relevant "recentish" PR #4405 which relates to that test/code)

@mih
Copy link
Member

mih commented Nov 4, 2020

I can replicate:

FAIL: datalad.support.tests.test_annexrepo.test_AnnexRepo_always_commit

The other one is skipped on my box (no symlinks).

edit by @yarikoptic: same here

@yarikoptic
Copy link
Member Author

yarikoptic commented Nov 4, 2020

oh, and that known one for test_get_flexible_source_candidates_for_submodule is #4932 and apparently it failed not on windows before but on conda linux while testing standalone build.

edit: standalone - so might be git version related??

there fail was

AssertionError: [{'cost': 400, 'name': 'bang', 'url': 'youredead', 'from_config': True}, {'cost': 500, 'name': 'origin', 'url': '/tmp/datalad_temp_test_get_flexible_source_candidates_for_submoduleso013kl9/sub'}, {'cost': 700, 'name': 'bang', 'url': 'pre-a2f21833-32ac-4372-b0dc-5577a931b4a3-post', 'from_config': True}] != [{'cost': 500, 'name': 'origin', 'url': '/tmp/datalad_temp_test_get_flexible_source_candidates_for_submoduleso013kl9/sub'}, {'cost': 700, 'name': 'bang', 'url': 'pre-a2f21833-32ac-4372-b0dc-5577a931b4a3-post', 'from_config': True}]

and here (only in the 2nd run on appveyor)

AssertionError: [{'from_config': True, 'name': 'bang', 'cost': 400, 'url': 'youredead'}, {'cost': 500, 'name': 'origin', 'url': 'C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\datalad_temp_8x9xsxvz\\sub'}, {'from_config': True, 'name': 'bang', 'cost': 700, 'url': 'pre-061c8cfd-9c27-47c4-b0d1-601972cdd4ac-post'}] != [{'cost': 500, 'name': 'origin', 'url': 'C:\\Users\\appveyor\\AppData\\Local\\Temp\\1\\datalad_temp_8x9xsxvz\\sub'}, {'from_config': True, 'name': 'bang', 'cost': 700, 'url': 'pre-061c8cfd-9c27-47c4-b0d1-601972cdd4ac-post'}]

so seems to be the same and the {'from_config': True, 'name': 'bang', 'cost': 400, 'url': 'youredead'} is missing from the 2nd entry

@mih
Copy link
Member

mih commented Nov 4, 2020

After enabling symlinks datalad.core.local.tests.test_status.test_status_symlinked_dir_within_repo is executed and passes on my box.

git version 2.29.2.windows.1

@yarikoptic
Copy link
Member Author

if that is with d7d0e23 - then it just reassures that there is an issue we are yet to resolve since behavior is different from linux

@mih mih linked an issue Nov 4, 2020 that may be closed by this pull request
@mih mih force-pushed the enh-appveyor branch 3 times, most recently from d2c6c0e to a09de9b Compare November 5, 2020 06:54
@mih mih force-pushed the enh-appveyor branch 4 times, most recently from acd9e8f to 033dd32 Compare November 5, 2020 14:07
yarikoptic and others added 12 commits November 6, 2020 07:16
Apparently git installation already comes with magic.mgc database on windows.

    Would you like to replace the existing file:
      Path:     C:\\Program Files\Git\usr\share\misc\magic.mgc
      Size:     5615456 bytes (5484 KiB)
      Modified: 2019-12-10 18:24:42
    with the file from archive:
      Path:     usr\share\misc\magic.mgc
      Modified: 2020-11-03 15:02:02
    ? (Y)es / (N)o / (A)lways / (S)kip all / A(u)to rename all / (Q)uit?

Is it a "real" one or somehow created by some initial call of something linked
against libmagic -- i do not know.  I guess we need to test how "interactive"
installation of git-annex would go -- would it alert about overrides or not,
and either official git installation comes with magic.mgc
…nt annex

Symlinks support on windows is still something not everyone would have.
We had been skipping this test on appveyor since we had no recent annex there.
So this does not change status quo but allows test to pass on appveyor
- More readily accessible test run descriptions
- Factor out common settings
- Run tests known to fail
I think we should not invest in broad compatibility right now, but focus
on a narrow slice, and get that working properly. I don't see any reason
to not go with the latest, which should be most similar to real Win10
boxes of real users.
We should focus on getting a modern environment to work. PY38 is not
fully functional on the current appveyor image, hence PY37 is the
most recent option.
Failure replicates on appveyor and a real win10 box.
@mih
Copy link
Member

mih commented Nov 6, 2020

I have removed the temporary removal of the other CIs. I think this has made a reasonable step forward. Certainly not the last. But given the present annoyance of appveyor tests timing out, I believe we should no longer wait with a merge.

@mih mih merged commit 256aefa into datalad:maint Nov 6, 2020
@yarikoptic yarikoptic added this to the 0.13.6 milestone Dec 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TST: datalad.core.distributed.tests.test_clone.test_clone_datasets_root
2 participants