summaryrefslogtreecommitdiff
path: root/git/test
Commit message (Collapse)AuthorAgeFilesLines
* imp(performance): execute performance tests on travisSebastian Thiel2016-10-101-3/+0
| | | | Fixes #524
* Merge remote-tracking branch 'upstream/master'Daniele Esposti2016-10-0622-801/+1247
|\ | | | | | | | | Conflicts: git/util.py
| * io: Wrap (probably) allconfig_writers in `with` blocksKostis Anagnostopoulos2016-10-046-83/+70
| |
| * src: No PyDev warningsKostis Anagnostopoulos2016-10-0412-92/+101
| | | | | | | | | | | | | | | | + Mark all unused vars and other non-pep8 (PyDev) warnings + test_utils: + enable & fix forgotten IterableList looped path. + unittestize all assertions. + remote: minor fix progress dispatching unknown err-lines
| * hidden win-errs: Let leaking TCs run till end, then hideKostis Anagnostopoulos2016-10-047-26/+24
| | | | | | | | | | | | | | | | | | + Detect code breaking the body of TCs eventually hidden win-errors by raising SkipTest ALAP. + submodule.base.py: import classes from `git.objects` instead of `utils`. + had to ++ ulimit 100->110 for the extra code tested (more leaks :-) + Centralize is_win detection.
| * Appveyor: Set HIDE_WINDOWS_KNOWN_ERRORS=TrueKostis Anagnostopoulos2016-10-034-6/+5
| | | | | | | | | | + Update error-conditions for PY-versions. + The purpose is to have NO TC FAILURES (with the minimum possible conditions).
| * Appveyor: Add and set HIDE_WINDOWS_KNOWN_ERRORS=Falsewinerr_showKostis Anagnostopoulos2016-10-038-40/+90
| | | | | | | | | | + Collect all "acknowledged" failing TCs on Appveyor and use "HIDE_WINDOWS_KNOWN_ERRORS" var to hide them.
| * repo-TC: FIX HOME-expansion check, Appveyor has no HOME varKostis Anagnostopoulos2016-10-031-3/+4
| |
| * TST: Add test for removing submodule with remotes without refsYaroslav Halchenko2016-10-031-2/+20
| |
| * src, config_tc: replace deprecated `failUnlessRaises`Kostis Anagnostopoulos2016-10-031-13/+25
| |
| * BF: log.info is a function, just pass msg, no .write!Yaroslav Halchenko2016-10-021-2/+2
| |
| * BF: @with_rw_directory must return decorated callYaroslav Halchenko2016-10-021-0/+2
| | | | | | | | As it was - many tests were simply not accounted/run at all
| * RF: use @functools.wraps within decorators instead of manual __name__ ↵Yaroslav Halchenko2016-10-021-3/+6
| | | | | | | | | | | | reassignment @wraps does more and does it right ;)
| * TC, #519: DISABLE failing testsKostis Anagnostopoulos2016-10-013-1/+12
| | | | | | + Just to see Apveyor all green and merge; the TCs HAVE TO BE FIXED.
| * io, #519: ALL open() --> with open()Kostis Anagnostopoulos2016-10-018-29/+32
| | | | | | + Some cases had restructuring of code.
| * Win, #519: FIX repo TCs.Kostis Anagnostopoulos2016-10-013-115/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 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.
| * repo-TCs, #519: FIX config resource leaksKostis Anagnostopoulos2016-10-012-37/+46
| | | | | | | | | | | | + 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...
| * ci: restore ci log-level to normal, coverage on Win-AppveyorKostis Anagnostopoulos2016-10-011-5/+3
| | | | | | | | + Extract util-method to delete lock-files, also on Windows (will be needed by TCs).
| * cfg_TCs, #519: FIX config resource leaksKostis Anagnostopoulos2016-10-011-78/+93
| | | | | | | | | | + 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
| * FIX hook TC on PY3+Win & indeterministic lock timing.Kostis Anagnostopoulos2016-09-292-2/+6
| | | | | | | | | | | | | | | | | | + 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
| * FIX tox/requirementsKostis Anagnostopoulos2016-09-291-3/+3
| |
| * remote, #519: INCOMPLETE FIX-2 double-decoding push-infosKostis Anagnostopoulos2016-09-281-1/+2
| | | | | | | | + Unicode PY2/3 issues fixed also in pump stream func.
| * Proc, #519: Rework error-exc msgs & log thread-pumps errorsKostis Anagnostopoulos2016-09-284-5/+148
| | | | | | | | | | + No WindowsError exception. + Add `test_exc.py` for unicode issues. + Single-arg for decoding-streams in pump-func.
| * remote, #519: FIX1-of-2 double-decoding push-infosKostis Anagnostopoulos2016-09-281-2/+6
| | | | | | | | | | + When `universal_lines==True` (515a6b9ccf8) must tel `handle_process_output` to stop decoding strings.
| * Win, hook, #519: Consume Hook Popen-proc out of GILKostis Anagnostopoulos2016-09-281-71/+85
| | | | | | | | | | | | | | | | + 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.
| * io, dif: #519: FIX DIFF freeze when reading from GILKostis Anagnostopoulos2016-09-281-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | + 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.
| * test: Start using `ddt` library for TCsKostis Anagnostopoulos2016-09-281-12/+16
| | | | | | | | | | + DataDriven TCs for identifying which separate case failed. + appveyor: rework matrix, conda3.4 cannot install in develop mode
| * Win, #519: FIX with_rw_directory() to remove read-only dirsKostis Anagnostopoulos2016-09-2812-48/+64
| | | | | | | | | | + Stop using gitdb's respective helper. + Fix files chmod(555) which CANNOT DELETE on Windows (but do on Linux).
| * TCs: unittestize many test-docs assertionsKostis Anagnostopoulos2016-09-281-29/+29
| |
| * src: constify is_<platform>() callsKostis Anagnostopoulos2016-09-286-29/+30
| | | | | | + TCs: unittest-asserts for git-tests.
| * Win, #519: FIX undead Git-daemon on WindowsKostis Anagnostopoulos2016-09-283-10/+31
| | | | | | | | | | | | | | | | | | | | | | + 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.
| * test, #519: No remote TCs, git-daemon cannot die@!Kostis Anagnostopoulos2016-09-282-2/+5
| |
| * test, #519: Try appveyor advice for never-ending buildsKostis Anagnostopoulos2016-09-283-47/+50
| | | | | | | | | | | | | | | | | | | | | | + 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]
| * src, #519: Improve daemon launch so Win does not stuckKostis Anagnostopoulos2016-09-271-31/+38
| | | | | | | | | | | | | | + 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!
| * src, #519: collect all is_<platform>() callsKostis Anagnostopoulos2016-09-276-17/+17
| |
| * win, #519: proc.terminate() instead of kill(SIGTERM)Kostis Anagnostopoulos2016-09-262-39/+41
| | | | | | + test_diff: replace asserts with unittest-asserts.
| * Win, #519: FIX WinHangs: Popen() CREATE_NEW_PROCESS_GROUP to allow killKostis Anagnostopoulos2016-09-262-7/+10
| | | | | | | | | | + FIXED most hangs BUT no more `git-daemon` un-killable! + Use logger for utils to replace stray print().
| * test, #519: Popen() universal_newlin.es NoWindow in WinfoesKostis Anagnostopoulos2016-09-263-1/+11
| | | | | | | | | | | | + More win-fixes: + Do not check unicode files in < py3. + util, #519: x4 timeout of lock-file blocking, failing in Appveyor.
| * test, #519: FIX appveyor conda & failures in py2.6 `assertRaisesRegexp`Kostis Anagnostopoulos2016-09-263-5/+11
| |
| * apveyor, #519: FIX incomplete Popen pumpKostis Anagnostopoulos2016-09-261-3/+5
| | | | | | | | | | | | | | | | + 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.
| * apveyor: simplify test.Kostis Anagnostopoulos2016-09-261-1/+1
| |
| * win: GC.collect on all TC.tearDown to fix appveyor hang runsKostis Anagnostopoulos2016-09-269-3/+38
| | | | | | | | | | + Fixed the hangs at `test_git:TestGit.test_handle_process_output()`. [travisci skip]
| * test, deps: FIX `mock` deps on py3.Kostis Anagnostopoulos2016-09-253-11/+22
| | | | | | | | + Del extra spaces, import os.path as osp
| * fix(test): put `test_commits` backSebastian Thiel2016-09-251-0/+1
| | | | | | | | Thanks to @yarikoptic for catching this one !
| * fix(test): deal with py2 and py3Sebastian Thiel2016-09-251-1/+3
| | | | | | | | | | | | It ain't pretty, but should do the job. Related to #514
| * fix(index): improve LockedFD handlingSebastian Thiel2016-09-251-0/+17
| | | | | | | | | | | | | | | | | | | | Relying on the destructor will not work, even though the code used to rely on it. Now we handle failures more explicitly. Far from perfect, but a good start for a fix. Fixes #514
* | Force GC collectionDaniele Esposti2016-09-191-0/+2
|/
* fix(Head): checkout() handles detached headSebastian Thiel2016-09-111-0/+6
| | | | | | | | | It's not optimal, as we can now return one of two types which are only compatible in the most basic ways. However, it is better than before, I presume. Fixes #510
* fix(repo): make it serializable with pickleSebastian Thiel2016-09-111-1/+5
| | | | | | | It's entirely untested if this repo still does the right thing, but I'd think it does. Fixes #504
* Update Remotes section (#502)Forrest Hopkins2016-08-241-2/+7
| | | | | Update Remotes section The Remotes section was missing some pretty important info.