Commit Graph

616 Commits

Author SHA1 Message Date
ZyX 33d32498b9 Do not use create_renderer from a separate thread
Also moves functions from tests.test_config_reload to tests.lib.config_mock

Using create_renderer for vim results in vim access from a separate thread.
2013-04-03 06:33:56 +04:00
ZyX b990c920e9 Use clear_events, do not assert. 2013-04-03 06:02:14 +04:00
ZyX de47b76a06 Add more assertAccessEvents
May fix travis build
2013-04-02 19:23:12 +04:00
ZyX 691efbfc9b Also do the same for `last_pipe_status` 2013-04-02 19:06:05 +04:00
ZyX 4e5bd54f79 Fix cwd segment, add use_path_separator option
cwd segment was not drawing inner separators because of new default for 
multisegment functions. use_path_separator was added because current variant 
looks bad for my taste.
2013-04-02 19:01:03 +04:00
ZyX 66beaaaa9d Replace draw_soft_divider setting with draw_inner_divider
If weather or system_load segments were moved to the left draw_soft_divider
variant resulted in incorrect renderring. Thus it was replaced by
draw_inner_divider.
2013-04-02 17:22:55 +04:00
ZyX f15cdd9413 Replace draw_divider setting with draw_(soft|hard)_divider
Previous variant was bad because
1. draw_divider only applied to soft dividers. Hard dividers were always drawn
2. But there was a hack with width=auto segments: for this segments draw_divider 
   setting applied always.

Now there are no additional dependencies: draw_*_divider applies no matter what 
other properties of the segment are.
2013-04-02 17:21:22 +04:00
Kim Silkebækken fcc009a6f5 Merge remote-tracking branch 'mspaulding06/hostname_exclude_domain' into develop
Conflicts:
	powerline/segments/common.py
	tests/test_segments.py
2013-04-02 11:29:08 +02:00
ZyX b7c61f8bf6 Handle removed and then added files
Note: if user configuration was removed, but global configuration was not it 
will start tracking global configuration file for changes.
2013-04-02 00:27:54 +04:00
ZyX d1e79000b5 Add tests for reloading theme and colorscheme 2013-03-31 14:57:43 +04:00
ZyX 54471569ab Check whether it switches configuration fine 2013-03-31 14:53:21 +04:00
ZyX 8c3be65bba Added test for colors config reloading 2013-03-31 13:37:07 +04:00
Matt Spaulding 3a6c0ab8fd Add test for hostname exclude_domain option 2013-03-30 15:32:29 -07:00
ZyX 5a50acf16b Add initial tests for configuration reloading
Currently only:
- Test for not reloading configuration if run_once is not True
- Test for reloading main configuration and other configurations triggered by 
  changes in main configuration file

TODO: tests for all other configuration files reloading (colors, colorscheme, 
      theme).
2013-03-31 00:06:49 +04:00
ZyX c6be4426d3 Fix whitespace errors 2013-03-31 00:03:35 +04:00
ZyX c2ceac093f Add replace_item with function, remove os import 2013-03-31 00:02:53 +04:00
ZyX 3ebc16a48c Replace pl.environ/getcwd/home with segment_info 2013-03-30 21:55:00 +04:00
ZyX 29f29213a9 Remove ThreadedSegment.write_lock
Assuming getattr(self, 'update_value') and setattr(self, 'update_value', value) 
are atomic. True with cpython unless somebody defined __getattribute__ or 
__setattr__.
2013-03-30 14:07:24 +04:00
ZyX 27c9a05782 Change indentation of closing }, ], ) and combinations of them 2013-03-25 19:04:18 +04:00
ZyX ada5dede25 Fix network_load test
It was using old network_load.sleep and also was not shutting down network_load 
in case it failed test
2013-03-25 18:45:43 +04:00
ZyX 7646c949e2 Automatically reload configuration
Needs testing
2013-03-25 18:24:17 +04:00
ZyX 80ddbfbf9a Split Powerline.__init__ into __init__ and create_renderer
Target: with long-living Powerline objects periodically reload configuration 
recreating renderer. Use file watchers to watch for configuration. Configuration 
should be able to be safely reloaded in non-blocking mode in a separate thread 
up to the time when it comes to recreating renderer.

This commit does not add anything that actually reloads the configuration, 
multiple runs of .create_renderer were not tested.
2013-03-25 18:24:16 +04:00
ZyX 92652ca5c4 Some fixes for flake8 2013-03-25 00:10:54 +04:00
ZyX 00271c2a0c Shut down network_load segment in tests 2013-03-24 22:24:48 +04:00
ZyX d27c720279 Fix race condition, don’t rely on detect feature
detect feature is to be tested though
2013-03-24 20:36:28 +04:00
ZyX 6c495374a0 Fix exec call for non-python-2.7 2013-03-24 20:03:09 +04:00
ZyX 1351207462 Some fixes for flake8 2013-03-24 19:59:56 +04:00
ZyX 8a51d99389 Some fixes for zsh, remove some exceptions handling
Those exceptions are now handled and logged at top level, thus no need to handle
them in segment.

Ref #330, it is now fixed for zsh/zpython

Note: do not use zsh/zpython + python3, it does not work properly, even though
this changeset contains fixes for it as well

Fixes #360
2013-03-24 19:48:51 +04:00
ZyX ed435f8063 Add required pl argument to segments
Fixes #340
Ref #330
2013-03-24 19:44:01 +04:00
ZyX 840ac0109b Port common.branch segment to KwThreaded*, add common.repository_status 2013-03-24 19:35:25 +04:00
Kim Silkebækken 5caeac26bf Merge remote-tracking branch 'zyx-i/fix-356' into develop 2013-03-24 16:18:44 +01:00
Kim Silkebækken 154fe123fe Merge remote-tracking branch 'zyx-i/ipython-other' into develop 2013-03-24 16:18:26 +01:00
ZyX b517df774b Fix bytes handling on python3
Fixes #356
2013-03-24 05:45:52 +04:00
ZyX c4e5ff8b49 Added support for all powerline prompts (in2, out, rewrite)
Also fixed problem with prompt not really updating.

Fixes #141
2013-03-24 05:23:33 +04:00
ZyX b1f9edab4c Remove get_segment_info and passing segment_info through globals 2013-03-24 05:23:33 +04:00
ZyX 83517f65b9 Make test.sh always check only powerline/config_files directory 2013-03-24 01:42:50 +04:00
ZyX 25806fa075 Added gradient for network_load segment 2013-03-24 01:33:56 +04:00
ZyX 157b849d33 Make weather gradient configurable, add system_load gradient
Also make gradients floating-point and fix #332 by removing “normalized” from 
system_load segment documentation.
2013-03-24 00:55:54 +04:00
ZyX 11aa74c634 Make it use gradient for weather temperature
Ref #301
2013-03-19 23:25:44 +04:00
ZyX 260a0dafcb Add tests for the constantly recreated *Powerline instances 2013-03-19 00:42:32 +04:00
ZyX b0495d028f Do not let daemon threads be stopped while being updated 2013-03-18 07:56:25 +04:00
ZyX fb2e9b6cdb Test all other segments
Still uncovered: email_imap_alert and now_playing
2013-03-17 21:23:27 +04:00
ZyX 84dfac6f8e Avoid using python setup.py test
Closes #295
2013-03-17 21:23:26 +04:00
ZyX f547e8b85f Some fixes for flake8 2013-03-17 21:23:15 +04:00
ZyX 62e731314e Replace memoize with threading where applicable
NOTE: Documentation now gets attached to *classes*, not actual segments. Hiding
      away classes (by changing their names to start with `_`) and/or doing

          self.__doc__ = self.__class__.__doc__

      does not work (hiding classes only hides documentation completely). I am
      not familiar with sphinx enough to say how this should be fixed.

Ref #168
2013-03-17 21:22:33 +04:00
ZyX a4adc92215 Do not import memoize, humanize_bytes and urllib_* in powerline.lib 2013-03-17 21:21:03 +04:00
ZyX 29eccf409b Use psutil module for `user` segment 2013-03-17 13:28:57 +04:00
ZyX c237e66958 Make file_size segment output buffer size 2013-03-15 19:31:08 +04:00
Kim Silkebækken 8cdd12a800 Merge remote-tracking branch 'zyx-i/326-fix-None-handling' into develop 2013-03-15 14:18:03 +01:00
Kim Silkebækken 747c75c1c4 Merge remote-tracking branch 'zyx-i/fix-322' into develop 2013-03-15 14:15:26 +01:00
ZyX 48470221f0 Make git.Repository.status() also return None
Fixes #326
2013-03-14 20:03:26 +04:00
ZyX e24703dbdd Add status_colors argument to branch segments
Closes #206
2013-03-13 16:51:53 +04:00
ZyX 6f3703e312 Improve ambiwidth handling, readd additional_escapes
Fixes #307
2013-03-12 13:11:59 +01:00
ZyX b2b05cb81c Removed underscore_to_camelcase
No need to bother both developers (that need to create class names compatible 
with file name, which is not obvious if not looking into main Powerline class) 
and computer (that needs to recompute class name each time) if it is possible to 
bother only developers (or only computer, but this contributes to higher startup 
times).

About not obvious: when you look into zsh_prompt.py and see only 
ZshPromptRenderer name you only think that powerline upstream is following 
strict code style. You don’t think there is a technical reason for such naming, 
like you don’t think there is technical reason for having blank lines. When you 
look into zsh_prompt.py and see `renderer = ZshPromptRenderer` it is obvious 
that there is technical reason for writing code this way because new variable is 
never used in the module itself.
2013-03-11 22:22:18 +04:00
ZyX 2c445a9356 Add more tests to test_configuration
Dynamic configuration tests. Purpose: make sure that default configuration does 
not throw. Tests catch only very trivial problems (like missing imports after
refactoring)
2013-03-11 22:09:34 +04:00
ZyX d27f7a0411 Add most configuration checks
Changes:

- Add main configuration, colors.json, almost full themes and colorschemes
  checks
- Make powerline.lint.check return whether it had problems
- Make powerline-lint fail if .check reported problems
- Make tests run powerline-lint
- Add the script to the list of the installed scripts

Fixes #278
2013-03-11 19:17:18 +04:00
ZyX 4374e1f71c Fix git/hg repo tests 2013-03-11 15:53:34 +01:00
ZyX a6d48232b0 Add python_test, more exclusions
Fixes #289
2013-03-11 15:53:32 +01:00
Kim Silkebækken 111eaa27e8 Combine vim modelines and Python encoding declarations
Ref #314
2013-03-11 10:40:09 +01:00
Kim Silkebækken 6748701fcb Add vim modelines to all Python files
Added with `sed -i '2i# vim:fenc=utf-8:noet' `find -name '*.py'`` and
fixed in a couple of files without the UTF-8 encoding on top.

Ref #314
2013-03-11 08:11:25 +01:00
Kovid Goyal c70d3b38b6 Add bzr support 2013-03-11 07:09:42 +01:00
ZyX aa0a8bf76d Make tests support python2.6
Old unittest is not working for unknown reason, using unittest2 instead
2013-03-03 21:03:40 +01:00
ZyX 0a05b2961a Add support for with: statement to tests.vim
Also made everything use new vim_module._with where possible
2013-03-03 21:03:34 +01:00
ZyX c429d9eeb2 Omit using sys.modules if possible
Does not work though: still TypeError due to some global in multiproccessing
that got None
2013-03-03 21:03:34 +01:00
ZyX c334be416d Add tests.lib module with `replace_*()` with statement functions
Note: there is new problem: now multiprocessing() globals got assigned None
values. It is likely somehow related to extended `sys.modules` utilization
2013-03-03 21:03:26 +01:00
ZyX 584755765b Start adding tests
Tests are temporary disabled on all branches except tests (does not really work
though, needs travis.yml in all branches).
2013-03-03 21:03:19 +01:00