annotate tests/test-ui-color.py @ 37533:df4985497986

wireproto: implement capabilities for wire protocol v2 The capabilities mechanism for wire protocol version 2 represents a clean break from version 1. Instead of effectively exchanging a set of capabilities, we're exchanging a rich data structure. This data structure currently contains information about every available command, including its accepted arguments. It also contains information about supported compression formats. Exposing information about supported commands will allow clients to automatically generate bindings to the server. Clients will be able to do things like detect when they are attempting to run a command that isn't known to the server. Exposing the required permissions to run a command can be used by clients to determine if they have privileges to call a command before actually calling it. We could potentially even have clients send credentials preemptively without waiting for the server to deny the command request. Lots of potential here. The data returned by this command will likely evolve heavily. So we shouldn't bikeshed the implementation just yet. Differential Revision: https://phab.mercurial-scm.org/D3200
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 09 Apr 2018 11:52:31 -0700
parents 0f36926b2651
children b8c2004a8d2b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28915
40afa22bee9b tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28682
diff changeset
1 from __future__ import absolute_import, print_function
40afa22bee9b tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28682
diff changeset
2
19322
ff1586a3adc5 cleanup: remove unused imports
Simon Heimberg <simohe@besonet.ch>
parents: 17956
diff changeset
3 import os
28915
40afa22bee9b tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28682
diff changeset
4 from mercurial import (
40afa22bee9b tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28682
diff changeset
5 dispatch,
40afa22bee9b tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28682
diff changeset
6 ui as uimod,
40afa22bee9b tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28682
diff changeset
7 )
11732
386e56ecfb78 color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff changeset
8
386e56ecfb78 color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff changeset
9 # ensure errors aren't buffered
31095
b4cb86ab4c71 color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30559
diff changeset
10 testui = uimod.ui()
11732
386e56ecfb78 color: call correct superclass method in write_err
Brodie Rao <brodie@bitheap.org>
parents:
diff changeset
11 testui.pushbuffer()
36336
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
12 testui.write((b'buffered\n'))
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
13 testui.warn((b'warning\n'))
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
14 testui.write_err(b'error\n')
28682
2e5be704bc96 py3: make test-ui-color use print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 19322
diff changeset
15 print(repr(testui.popbuffer()))
14516
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
16
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
17 # test dispatch.dispatch with the same ui object
36337
0f36926b2651 py3: make sure we open file in bytes mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36336
diff changeset
18 hgrc = open(os.environ["HGRCPATH"], 'wb')
36336
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
19 hgrc.write(b'[extensions]\n')
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
20 hgrc.write(b'color=\n')
14516
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
21 hgrc.close()
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
22
30559
d83ca854fa21 ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents: 28915
diff changeset
23 ui_ = uimod.ui.load()
36336
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
24 ui_.setconfig(b'ui', b'formatted', b'True')
14516
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
25
14614
afccc64eea73 ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents: 14516
diff changeset
26 # we're not interested in the output, so write that to devnull
36337
0f36926b2651 py3: make sure we open file in bytes mode
Pulkit Goyal <7895pulkit@gmail.com>
parents: 36336
diff changeset
27 ui_.fout = open(os.devnull, 'wb')
14614
afccc64eea73 ui: use I/O descriptors internally
Idan Kamara <idankk86@gmail.com>
parents: 14516
diff changeset
28
14516
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
29 # call some arbitrary command just so we go through
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
30 # color's wrapped _runcommand twice.
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
31 def runcmd():
36336
236596a67a54 py3: add b'' to test-ui-color.py
Pulkit Goyal <7895pulkit@gmail.com>
parents: 31095
diff changeset
32 dispatch.dispatch(dispatch.request([b'version', b'-q'], ui_))
14516
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
33
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
34 runcmd()
31095
b4cb86ab4c71 color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30559
diff changeset
35 print("colored? %s" % (ui_._colormode is not None))
14516
842a9179132c color: check if ui is already a subclass of colorui before wrapping it
Idan Kamara <idankk86@gmail.com>
parents: 12865
diff changeset
36 runcmd()
31095
b4cb86ab4c71 color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30559
diff changeset
37 print("colored? %s" % (ui_._colormode is not None))
b4cb86ab4c71 color: drop the 'colorui' class
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30559
diff changeset
38