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

Test project on Windows with MINGW git (conda2.7&3.4/cpy-3.5) #519

Merged
merged 42 commits into from Oct 1, 2016

Commits on Sep 25, 2016

  1. test, deps: FIX `mock` deps on py3.

    + Del extra spaces, import os.path as osp
    ankostis committed Sep 25, 2016

Commits on Sep 26, 2016

  1. win: GC.collect on all TC.tearDown to fix appveyor hang runs

    + Fixed the hangs at `test_git:TestGit.test_handle_process_output()`.
    [travisci skip]
    ankostis committed Sep 26, 2016
  2. apveyor: simplify test.

    ankostis committed Sep 26, 2016
  3. apveyor, #519: FIX incomplete Popen pump

    + The code in `_read_lines_from_fno()` was reading the stream only once
    per invocation, so when input was larger than `mmap.PAGESIZE`, bytes
    were forgotten in the stream.
    + Replaced buffer-building code with iterate-on-file-descriptors.
    + Also set deamon-threads.
    ankostis committed Sep 26, 2016
  4. test, #519: Popen() universal_newlin.es NoWindow in Winfoes

    + More win-fixes:
      + Do not check unicode files in < py3.
      + util, #519: x4 timeout of lock-file blocking, failing in Appveyor.
    ankostis committed Sep 26, 2016
  5. Win, #519: FIX WinHangs: Popen() CREATE_NEW_PROCESS_GROUP to allow kill

    + FIXED most hangs BUT no more `git-daemon` un-killable!
    + Use logger for utils to replace stray print().
    ankostis committed Sep 26, 2016
  6. win, #519: proc.terminate() instead of kill(SIGTERM)

    + test_diff: replace asserts with unittest-asserts.
    ankostis committed Sep 26, 2016

Commits on Sep 27, 2016

  1. src, #519: Improve daemon launch so Win does not stuck

    + Retrofit try...finally blocks to ensure killing the daemon - now
    vulnerable also on Windows due to Popen() + CREATE_NEW_PROCESS_GROUP
    - BUT `test_base.test_with_rw_remote_and_rw_repo()` TC fails in MINGW
    due to invalid remote-URL in fetching-repo's config. Another day.
    - NEXT FREEZE to solve: test-diff_interface() under MINGW!
    ankostis committed Sep 27, 2016

Commits on Sep 28, 2016

  1. test, #519: Try appveyor advice for never-ending builds

    + see
    http://help.appveyor.com/discussions/problems/5334-nosetests-finsih-bu-build-stuck-and-next-job-dealys-to-start
    + Use `io.DEFAULT_BUFFER_SIZE`.
    + test_commit: replace asserts with unittest-asserts.
    - TRY Popen() NO universal_newlines: NO, reverted in next commits.
    
    + 
    [travisci skip]
    ankostis committed Sep 28, 2016
  2. Win, #519: FIX undead Git-daemon on Windows

    + On MINGW-git, daemon exists but if invoked as 'git daemon', DAEMON
    CANNOT DIE!
    + So, launch `git-daemon` on Apveyor, but
    - remote TCs fail due to paths problems.
    + Updated README instructions on Windows.
    + Restore disabled remote TCs on Windows.
    + Disable failures on daemon-tests only the last moment
      (raise SkipTest) so when ready, it will also pass.
    ankostis committed Sep 28, 2016
  3. Win, #519: Remove `git.cmd` failback - no longer exists.

    + Simplify call_process, no win-code case, no `make_call()` nested func.
    + Del needless WinError try..catch, in `_call_process()` already
    converted as GitCommandNotFound by `execute()`.
    + pyism: kw-loop-->comprehension, facilitate debug-stepping
    ankostis committed Sep 28, 2016
  4. PY2, #519: FIX GitCommandError.tostr() encoding issue

    + PY3 means "PY3 or later" (TODO: fix also for  *gitdb* project).
    ankostis committed Sep 28, 2016
  5. src: constify is_<platform>() calls

    + TCs: unittest-asserts for git-tests.
    ankostis committed Sep 28, 2016
  6. Win, #519: Ensure fixtures & bashscript checked-out eol=lf

    + FIX all Diff TCs.
    ankostis committed Sep 28, 2016
  7. Win, #519: FIX with_rw_directory() to remove read-only dirs

    + Stop using gitdb's respective helper.
    + Fix files chmod(555) which CANNOT DELETE on Windows (but do on Linux).
    ankostis committed Sep 28, 2016
  8. test: Start using `ddt` library for TCs

    + DataDriven TCs for identifying which separate case failed.
    + appveyor: rework matrix, conda3.4 cannot install in develop mode
    ankostis committed Sep 28, 2016
  9. io, dif: #519: FIX DIFF freeze when reading from GIL

    + CAUSE: In Windows, Diffs freeze while reading Popen streams,
    probably buffers smaller; good-thin(TM) in this case because reading a
    Popen-proc from the launching-thread freezes GIL.  The alternative to
    use `proc.communicate()` also relies on big buffers.
    + SOLUTION: Use `cmd.handle_process_output()` to consume Diff-proc
    streams.
    + Retroffited `handle_process_output()` code to support also
    byte-streams, both Threading(Windows) and Select/Poll (Posix) paths
    updated.
    
    - TODO: Unfortunately, `Diff._index_from_patch_format()` still slurps
    input; need to re-phrase header-regexes linewise to resolve it.
    ankostis committed Sep 28, 2016
  10. Win, hook, #519: Consume Hook Popen-proc out of GIL

    + HookException thrown on Popen, and were missed on Windows.
    + No SHELL on Popen??
    + Minor fixes:
      + Try harder to delete trees - no remorses.
      + Simplify exception reprs.
      + Unittest-ize test_index assertions.
    ankostis committed Sep 28, 2016
  11. remote, #519: FIX1-of-2 double-decoding push-infos

    + When `universal_lines==True` (515a6b9) must tel
    `handle_process_output` to stop decoding strings.
    ankostis committed Sep 28, 2016
  12. Proc, #519: Rework error-exc msgs & log thread-pumps errors

    + No WindowsError exception.
    + Add `test_exc.py` for unicode issues.
    + Single-arg for decoding-streams in pump-func.
    ankostis committed Sep 28, 2016
  13. remote, #519: INCOMPLETE FIX-2 double-decoding push-infos

    + Unicode PY2/3 issues fixed also in pump stream func.
    ankostis committed Sep 28, 2016
  14. ABANDON select/poll

    ankostis committed Sep 28, 2016
  15. FIX tox/requirements

    ankostis committed Sep 28, 2016
  16. FIX hook TC on PY3+Win & indeterministic lock timing.

    + Cannot `index.path` into ENV, it is bytes!
    + The hook TC never runs on linux!
    + Unblock removal of odbfile in perf-large streams TC.
    + Attempt to unblock removal of submodule file by intensive cleaning.
    
    more unblock files
    ankostis committed Sep 28, 2016

Commits on Sep 29, 2016

  1. ci: Capture logging for Popen() execute statements.

    + Collect all known commands
    ankostis committed Sep 29, 2016

Commits on Oct 1, 2016

  1. cfg_TCs, #519: FIX config resource leaks

    + Modify lock/read-config-file code to ansure files closed
    + Use `with GitConfigarser()` more systematically in TCs.
    + Clear any locks left hanging from pev Tcs
    ankostis committed Oct 1, 2016
  2. ci: restore ci log-level to normal, coverage on Win-Appveyor

    + Extract util-method to delete lock-files, also on Windows (will be
    needed by TCs).
    ankostis committed Oct 1, 2016
  3. repo-TCs, #519: FIX config resource leaks

    + Modify lock/read-config-file code to ensure files closed.
    + Use `with GitConfigarser()` more systematically in TCs.
    + Clear any locks left hanging from prev Tcs.
    + Util: mark lock-files as SHORT_LIVED; save some SSDs...
    ankostis committed Oct 1, 2016
  4. Win, #519: FIX repo TCs.

    + FIX TestRepo.test_submodule_update():
      + submod: del `.git` file prior overwrite; Windows denied otherwise!
    + FIX TestRepo.test_untracked_files():
      + In the `git add <file>` case, it failed with unicode args on PY2.
    Had to
    encode them with `locale.getpreferredencoding()` AND use SHELL.
    + cmd: add `shell` into `execute()` kwds, for overriding USE_SHELL per
    command.
    + repo: replace blocky `communicate()` in `_clone()` with thread-pumps.
    + test_repo.py: unittestize (almost  all) assertions.
    + Replace open --> with open for index (base and TC).
    + test_index.py: Enabled a dormant assertion.
    ankostis committed Oct 1, 2016
  5. Merge remote-tracking branch 'origin/master' into appveyor

    ankostis committed Oct 1, 2016
  6. io, #519: ALL open() --> with open()

    + Some cases had restructuring of code.
    ankostis committed Oct 1, 2016
You can’t perform that action at this time.