annotate tests/test-trusted.py @ 50391:12f13b13f414 stable

revlog: avoid possible collision between directory and temporary index Since 6.4, we create a temporary index file to write the split data without overwriting the inline version too early. However, the store encoding does not prevent these new `.i.s` file to collide with a directory with the same name. While the odds for such a collision to happens are fairly low, the collision would prevent Mercurial from working. The store encoding have a mitigation solution in place to prevent such collisions from happening for `.i` and `.d` files, but not for other extensions. We cannot update this encoding scheme to solve the issue since it would diverge from older version of Mercurial. Instead, we create an alternative directory tree dedicated to such files. The use of the `.i` extension combined with store encoding will prevent collisions there.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Thu, 08 Jun 2023 14:28:21 +0200
parents 6000f5b25c9b
children e3952d8cfeb5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
1 # Since it's not easy to write a test that portably deals
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
2 # with files from different users/groups, we cheat a bit by
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
3 # monkey-patching some functions in the util module
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
4
28913
b4048ce003fb tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 26587
diff changeset
5
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
6 import os
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
7 import sys
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
8
28913
b4048ce003fb tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 26587
diff changeset
9 from mercurial import (
b4048ce003fb tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 26587
diff changeset
10 error,
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
11 pycompat,
28913
b4048ce003fb tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 26587
diff changeset
12 ui as uimod,
b4048ce003fb tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 26587
diff changeset
13 util,
b4048ce003fb tests: make test-trusted use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 26587
diff changeset
14 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
15 from mercurial.utils import stringutil
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
16
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
17 hgrc = os.environ['HGRCPATH']
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
18 f = open(hgrc, 'rb')
5523
5db730475d6d tests/*: avoid losing the original settings from $HGRCPATH
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4516
diff changeset
19 basehgrc = f.read()
5db730475d6d tests/*: avoid losing the original settings from $HGRCPATH
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4516
diff changeset
20 f.close()
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
21
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
22
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
23 def _maybesysstr(v):
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
24 if isinstance(v, bytes):
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
25 return pycompat.sysstr(v)
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
26 return pycompat.sysstr(stringutil.pprint(v))
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
27
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
28
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
29 def bprint(*args, **kwargs):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
30 print(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
31 *[_maybesysstr(a) for a in args],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
32 **{k: _maybesysstr(v) for k, v in kwargs.items()}
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
33 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
34 # avoid awkward interleaving with ui object's output
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
35 sys.stdout.flush()
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
36
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
37
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
38 def testui(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
39 user=b'foo',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
40 group=b'bar',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
41 tusers=(),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
42 tgroups=(),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
43 cuser=b'foo',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
44 cgroup=b'bar',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
45 debug=False,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
46 silent=False,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
47 report=True,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
48 ):
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
49 # user, group => owners of the file
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
50 # tusers, tgroups => trusted users/groups
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
51 # cuser, cgroup => user/group of the current process
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
52
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
53 # write a global hgrc with the list of trusted users/groups and
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
54 # some setting so that we can be sure it was read
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
55 f = open(hgrc, 'wb')
5523
5db730475d6d tests/*: avoid losing the original settings from $HGRCPATH
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4516
diff changeset
56 f.write(basehgrc)
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
57 f.write(b'\n[paths]\n')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
58 f.write(b'global = /some/path\n\n')
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
59
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
60 if tusers or tgroups:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
61 f.write(b'[trusted]\n')
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
62 if tusers:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
63 f.write(b'users = %s\n' % b', '.join(tusers))
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
64 if tgroups:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
65 f.write(b'groups = %s\n' % b', '.join(tgroups))
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
66 f.close()
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
67
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
68 # override the functions that give names to uids and gids
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
69 def username(uid=None):
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
70 if uid is None:
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
71 return cuser
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
72 return user
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
73
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
74 util.username = username
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
75
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
76 def groupname(gid=None):
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
77 if gid is None:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
78 return b'bar'
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
79 return group
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
80
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
81 util.groupname = groupname
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
82
8657
3fa92c618624 posix: do not use fstat in isowner
Martin Geisler <mg@lazybytes.net>
parents: 8190
diff changeset
83 def isowner(st):
3677
1a0fa3914c46 Avoid looking up usernames if the current user owns the .hgrc file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3552
diff changeset
84 return user == cuser
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
85
3677
1a0fa3914c46 Avoid looking up usernames if the current user owns the .hgrc file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3552
diff changeset
86 util.isowner = isowner
1a0fa3914c46 Avoid looking up usernames if the current user owns the .hgrc file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3552
diff changeset
87
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
88 # try to read everything
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
89 # print '# File belongs to user %s, group %s' % (user, group)
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
90 # print '# trusted users = %s; trusted groups = %s' % (tusers, tgroups)
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
91 kind = (b'different', b'same')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
92 who = (b'', b'user', b'group', b'user and the group')
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
93 trusted = who[(user in tusers) + 2 * (group in tgroups)]
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
94 if trusted:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
95 trusted = b', but we trust the ' + trusted
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
96 bprint(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
97 b'# %s user, %s group%s'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
98 % (kind[user == cuser], kind[group == cgroup], trusted)
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
99 )
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
100
30564
d83ca854fa21 ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents: 28934
diff changeset
101 u = uimod.ui.load()
34858
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
102 # disable the configuration registration warning
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
103 #
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
104 # the purpose of this test is to check the old behavior, not to validate the
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
105 # behavior from registered item. so we silent warning related to unregisted
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
106 # config.
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
107 u.setconfig(b'devel', b'warn-config-unknown', False, b'test')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
108 u.setconfig(b'devel', b'all-warnings', False, b'test')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
109 u.setconfig(b'ui', b'debug', pycompat.bytestr(bool(debug)))
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
110 u.setconfig(b'ui', b'report_untrusted', pycompat.bytestr(bool(report)))
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
111 u.readconfig(b'.hg/hgrc')
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
112 if silent:
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
113 return u
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
114 bprint(b'trusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
115 for name, path in u.configitems(b'paths'):
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
116 bprint(b' ', name, b'=', util.pconvert(path))
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
117 bprint(b'untrusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
118 for name, path in u.configitems(b'paths', untrusted=True):
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
119 bprint(b'.', end=b' ')
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
120 u.config(b'paths', name) # warning with debug=True
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
121 bprint(b'.', end=b' ')
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
122 u.config(b'paths', name, untrusted=True) # no warnings
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
123 bprint(name, b'=', util.pconvert(path))
28934
c4040a35b5d9 tests: make test-trusted use print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28913
diff changeset
124 print()
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
125
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
126 return u
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
127
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
128
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
129 os.mkdir(b'repo')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
130 os.chdir(b'repo')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
131 os.mkdir(b'.hg')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
132 f = open(b'.hg/hgrc', 'wb')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
133 f.write(b'[paths]\n')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
134 f.write(b'local = /another/path\n\n')
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
135 f.close()
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
136
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
137 # print '# Everything is run by user foo, group bar\n'
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
138
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
139 # same user, same group
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
140 testui()
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
141 # same user, different group
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
142 testui(group=b'def')
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
143 # different user, same group
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
144 testui(user=b'abc')
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
145 # ... but we trust the group
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
146 testui(user=b'abc', tgroups=[b'bar'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
147 # different user, different group
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
148 testui(user=b'abc', group=b'def')
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
149 # ... but we trust the user
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
150 testui(user=b'abc', group=b'def', tusers=[b'abc'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
151 # ... but we trust the group
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
152 testui(user=b'abc', group=b'def', tgroups=[b'def'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
153 # ... but we trust the user and the group
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
154 testui(user=b'abc', group=b'def', tusers=[b'abc'], tgroups=[b'def'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
155 # ... but we trust all users
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
156 bprint(b'# we trust all users')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
157 testui(user=b'abc', group=b'def', tusers=[b'*'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
158 # ... but we trust all groups
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
159 bprint(b'# we trust all groups')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
160 testui(user=b'abc', group=b'def', tgroups=[b'*'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
161 # ... but we trust the whole universe
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
162 bprint(b'# we trust all users and groups')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
163 testui(user=b'abc', group=b'def', tusers=[b'*'], tgroups=[b'*'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
164 # ... check that users and groups are in different namespaces
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
165 bprint(b"# we don't get confused by users and groups with the same name")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
166 testui(user=b'abc', group=b'def', tusers=[b'def'], tgroups=[b'abc'])
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
167 # ... lists of user names work
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
168 bprint(b"# list of user names")
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
169 testui(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
170 user=b'abc',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
171 group=b'def',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
172 tusers=[b'foo', b'xyz', b'abc', b'bleh'],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
173 tgroups=[b'bar', b'baz', b'qux'],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
174 )
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
175 # ... lists of group names work
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
176 bprint(b"# list of group names")
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
177 testui(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
178 user=b'abc',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
179 group=b'def',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
180 tusers=[b'foo', b'xyz', b'bleh'],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
181 tgroups=[b'bar', b'def', b'baz', b'qux'],
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
182 )
3551
3b07e223534b Only read .hg/hgrc files from trusted users/groups
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
183
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
184 bprint(b"# Can't figure out the name of the user running this process")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
185 testui(user=b'abc', group=b'def', cuser=None)
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
186
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
187 bprint(b"# prints debug warnings")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
188 u = testui(user=b'abc', group=b'def', cuser=b'foo', debug=True)
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
189
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
190 bprint(b"# report_untrusted enabled without debug hides warnings")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
191 u = testui(user=b'abc', group=b'def', cuser=b'foo', report=False)
13493
95b0d4c1c9e1 ui: always report untrusted hgrc files when debug enabled
Ry4an Brase <ry4an-hg@ry4an.org>
parents: 11291
diff changeset
192
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
193 bprint(b"# report_untrusted enabled with debug shows warnings")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
194 u = testui(user=b'abc', group=b'def', cuser=b'foo', debug=True, report=False)
13493
95b0d4c1c9e1 ui: always report untrusted hgrc files when debug enabled
Ry4an Brase <ry4an-hg@ry4an.org>
parents: 11291
diff changeset
195
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
196 bprint(b"# ui.readconfig sections")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
197 filename = b'foobar'
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
198 f = open(filename, 'wb')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
199 f.write(b'[foobar]\n')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
200 f.write(b'baz = quux\n')
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
201 f.close()
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
202 u.readconfig(filename, sections=[b'foobar'])
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
203 bprint(u.config(b'foobar', b'baz'))
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
204
28934
c4040a35b5d9 tests: make test-trusted use print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28913
diff changeset
205 print()
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
206 bprint(b"# read trusted, untrusted, new ui, trusted")
30564
d83ca854fa21 ui: factor out ui.load() to create a ui without loading configs (API)
Yuya Nishihara <yuya@tcha.org>
parents: 28934
diff changeset
207 u = uimod.ui.load()
34858
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
208 # disable the configuration registration warning
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
209 #
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
210 # the purpose of this test is to check the old behavior, not to validate the
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
211 # behavior from registered item. so we silent warning related to unregisted
85a2db47ad50 configitems: adds a developer warning when accessing undeclared configuration
Boris Feld <boris.feld@octobus.net>
parents: 31857
diff changeset
212 # config.
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
213 u.setconfig(b'devel', b'warn-config-unknown', False, b'test')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
214 u.setconfig(b'devel', b'all-warnings', False, b'test')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
215 u.setconfig(b'ui', b'debug', b'on')
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
216 u.readconfig(filename)
8190
9b8ac5fb7760 ui: kill most users of parentui name and arg, replace with .copy()
Matt Mackall <mpm@selenic.com>
parents: 8144
diff changeset
217 u2 = u.copy()
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
218
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
219
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
220 def username(uid=None):
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
221 return b'foo'
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
222
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
223
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
224 util.username = username
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
225 u2.readconfig(b'.hg/hgrc')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
226 bprint(b'trusted:')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
227 bprint(u2.config(b'foobar', b'baz'))
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
228 bprint(b'untrusted:')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
229 bprint(u2.config(b'foobar', b'baz', untrusted=True))
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
230
28934
c4040a35b5d9 tests: make test-trusted use print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28913
diff changeset
231 print()
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
232 bprint(b"# error handling")
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
233
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
234
26587
56b2bcea2529 error: get Abort from 'error' instead of 'util'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25660
diff changeset
235 def assertraises(f, exc=error.Abort):
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
236 try:
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
237 f()
25660
328739ea70c3 global: mass rewrite to use modern exception syntax
Gregory Szorc <gregory.szorc@gmail.com>
parents: 19872
diff changeset
238 except exc as inst:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
239 bprint(b'raised', inst.__class__.__name__)
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
240 else:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
241 bprint(b'no exception?!')
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
242
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
243
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
244 bprint(b"# file doesn't exist")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
245 os.unlink(b'.hg/hgrc')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
246 assert not os.path.exists(b'.hg/hgrc')
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
247 testui(debug=True, silent=True)
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
248 testui(user=b'abc', group=b'def', debug=True, silent=True)
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
249
28934
c4040a35b5d9 tests: make test-trusted use print_function
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28913
diff changeset
250 print()
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
251 bprint(b"# parse error")
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
252 f = open(b'.hg/hgrc', 'wb')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
253 f.write(b'foo')
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
254 f.close()
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
255
8144
fca54469480e ui: introduce new config parser
Matt Mackall <mpm@selenic.com>
parents: 8142
diff changeset
256 try:
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
257 testui(user=b'abc', group=b'def', silent=True)
45909
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 45903
diff changeset
258 except error.ConfigError as inst:
45903
c9b14c56fc2b tests: use new ParseError.format() in test-trusted.py
Martin von Zweigbergk <martinvonz@google.com>
parents: 43076
diff changeset
259 bprint(inst.format())
3552
9b52239dc740 save settings from untrusted config files in a separate configparser
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3551
diff changeset
260
8144
fca54469480e ui: introduce new config parser
Matt Mackall <mpm@selenic.com>
parents: 8142
diff changeset
261 try:
fca54469480e ui: introduce new config parser
Matt Mackall <mpm@selenic.com>
parents: 8142
diff changeset
262 testui(debug=True, silent=True)
45909
9dc1351d0b5f errors: raise ConfigError on failure to parse config file
Martin von Zweigbergk <martinvonz@google.com>
parents: 45903
diff changeset
263 except error.ConfigError as inst:
45903
c9b14c56fc2b tests: use new ParseError.format() in test-trusted.py
Martin von Zweigbergk <martinvonz@google.com>
parents: 43076
diff changeset
264 bprint(inst.format())
31481
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
265
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
266 print()
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
267 bprint(b'# access typed information')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
268 with open(b'.hg/hgrc', 'wb') as f:
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
269 f.write(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
270 b'''\
31481
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
271 [foo]
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
272 sub=main
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
273 sub:one=one
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
274 sub:two=two
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
275 path=monty/python
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
276 bool=true
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
277 int=42
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
278 bytes=81mb
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
279 list=spam,ham,eggs
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
280 '''
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
281 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
282 u = testui(user=b'abc', group=b'def', cuser=b'foo', silent=True)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
283
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
284
31857
08fbc97d1364 tests: print Unix style paths in *.py tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 31481
diff changeset
285 def configpath(section, name, default=None, untrusted=False):
08fbc97d1364 tests: print Unix style paths in *.py tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 31481
diff changeset
286 path = u.configpath(section, name, default, untrusted)
08fbc97d1364 tests: print Unix style paths in *.py tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 31481
diff changeset
287 if path is None:
08fbc97d1364 tests: print Unix style paths in *.py tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 31481
diff changeset
288 return None
08fbc97d1364 tests: print Unix style paths in *.py tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 31481
diff changeset
289 return util.pconvert(path)
08fbc97d1364 tests: print Unix style paths in *.py tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 31481
diff changeset
290
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
291
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
292 bprint(b'# suboptions, trusted and untrusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
293 trusted = u.configsuboptions(b'foo', b'sub')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
294 untrusted = u.configsuboptions(b'foo', b'sub', untrusted=True)
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
295 bprint(
31481
75e4bae56068 config: honour the trusted flag in ui.configbytes
Martijn Pieters <mjpieters@fb.com>
parents: 30564
diff changeset
296 (trusted[0], sorted(trusted[1].items())),
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
297 (untrusted[0], sorted(untrusted[1].items())),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
298 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
299 bprint(b'# path, trusted and untrusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
300 bprint(configpath(b'foo', b'path'), configpath(b'foo', b'path', untrusted=True))
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
301 bprint(b'# bool, trusted and untrusted')
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
302 bprint(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
303 u.configbool(b'foo', b'bool'), u.configbool(b'foo', b'bool', untrusted=True)
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
304 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
305 bprint(b'# int, trusted and untrusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
306 bprint(
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
307 u.configint(b'foo', b'int', 0),
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
308 u.configint(b'foo', b'int', 0, untrusted=True),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
309 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
310 bprint(b'# bytes, trusted and untrusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
311 bprint(
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
312 u.configbytes(b'foo', b'bytes', 0),
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
313 u.configbytes(b'foo', b'bytes', 0, untrusted=True),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
314 )
41374
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
315 bprint(b'# list, trusted and untrusted')
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
316 bprint(
73ccba60aaa1 py3: almost fix test-trusted.py
Augie Fackler <augie@google.com>
parents: 34858
diff changeset
317 u.configlist(b'foo', b'list', []),
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
318 u.configlist(b'foo', b'list', [], untrusted=True),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41511
diff changeset
319 )