Mercurial > hg
annotate tests/fsmonitor-run-tests.py @ 51485:2b5f4013f79f
branchcache: avoid created a `None` filter repoview when writing
The repoview class is not intended to be used for unfiltered repository.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 07 Mar 2024 11:04:34 +0100 |
parents | 56f98406831b |
children | 493034cc3265 |
rev | line source |
---|---|
45830
c102b704edb5
global: use python3 in shebangs
Gregory Szorc <gregory.szorc@gmail.com>
parents:
44448
diff
changeset
|
1 #!/usr/bin/env python3 |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
2 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
3 # fsmonitor-run-tests.py - Run Mercurial tests with fsmonitor enabled |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
4 # |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
5 # Copyright 2017 Facebook, Inc. |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
6 # |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
7 # This software may be used and distributed according to the terms of the |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
8 # GNU General Public License version 2 or any later version. |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
9 # |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
10 # This is a wrapper around run-tests.py that spins up an isolated instance of |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
11 # Watchman and runs the Mercurial tests against it. This ensures that the global |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
12 # version of Watchman isn't affected by anything this test does. |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
13 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
14 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
15 import argparse |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
16 import contextlib |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
17 import json |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
18 import os |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
19 import shutil |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
20 import subprocess |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
21 import sys |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
22 import tempfile |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
23 import uuid |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
24 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
25 osenvironb = getattr(os, 'environb', os.environ) |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
26 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
27 if sys.version_info > (3, 5, 0): |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
28 PYTHON3 = True |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
29 |
44448
55c443fcb4fc
tests: rename _bytespath() to _sys2bytes() and _strpath() to _sys2str()
Manuel Jacob <me@manueljacob.de>
parents:
43076
diff
changeset
|
30 def _sys2bytes(p): |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
31 return p.encode('utf-8') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
32 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
33 |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
34 elif sys.version_info >= (3, 0, 0): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
35 print( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
36 '%s is only supported on Python 3.5+ and 2.7, not %s' |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
37 % (sys.argv[0], '.'.join(str(v) for v in sys.version_info[:3])) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
38 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
39 sys.exit(70) # EX_SOFTWARE from `man 3 sysexit` |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
40 else: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
41 PYTHON3 = False |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
42 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
43 # In python 2.x, path operations are generally done using |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
44 # bytestrings by default, so we don't have to do any extra |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
45 # fiddling there. We define the wrapper functions anyway just to |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
46 # help keep code consistent between platforms. |
44448
55c443fcb4fc
tests: rename _bytespath() to _sys2bytes() and _strpath() to _sys2str()
Manuel Jacob <me@manueljacob.de>
parents:
43076
diff
changeset
|
47 def _sys2bytes(p): |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
48 return p |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
49 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
50 |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
51 def getparser(): |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
52 """Obtain the argument parser used by the CLI.""" |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
53 parser = argparse.ArgumentParser( |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
54 description='Run tests with fsmonitor enabled.', |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
55 epilog='Unrecognized options are passed to run-tests.py.', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
56 ) |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
57 # - keep these sorted |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
58 # - none of these options should conflict with any in run-tests.py |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
59 parser.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
60 '--keep-fsmonitor-tmpdir', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
61 action='store_true', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
62 help='keep temporary directory with fsmonitor state', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
63 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
64 parser.add_argument( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
65 '--watchman', |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
66 help='location of watchman binary (default: watchman in PATH)', |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
67 default='watchman', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
68 ) |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
69 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
70 return parser |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
71 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
72 |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
73 @contextlib.contextmanager |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
74 def watchman(args): |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
75 basedir = tempfile.mkdtemp(prefix='hg-fsmonitor') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
76 try: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
77 # Much of this configuration is borrowed from Watchman's test harness. |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
78 cfgfile = os.path.join(basedir, 'config.json') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
79 # TODO: allow setting a config |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
80 with open(cfgfile, 'w') as f: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
81 f.write(json.dumps({})) |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
82 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
83 logfile = os.path.join(basedir, 'log') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
84 clilogfile = os.path.join(basedir, 'cli-log') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
85 if os.name == 'nt': |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
86 sockfile = '\\\\.\\pipe\\watchman-test-%s' % uuid.uuid4().hex |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
87 else: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
88 sockfile = os.path.join(basedir, 'sock') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
89 pidfile = os.path.join(basedir, 'pid') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
90 statefile = os.path.join(basedir, 'state') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
91 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
92 argv = [ |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
93 args.watchman, |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
94 '--sockname', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
95 sockfile, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
96 '--logfile', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
97 logfile, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
98 '--pidfile', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
99 pidfile, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
100 '--statefile', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
101 statefile, |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
102 '--foreground', |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
103 '--log-level=2', # debug logging for watchman |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
104 ] |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
105 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
106 envb = osenvironb.copy() |
44448
55c443fcb4fc
tests: rename _bytespath() to _sys2bytes() and _strpath() to _sys2str()
Manuel Jacob <me@manueljacob.de>
parents:
43076
diff
changeset
|
107 envb[b'WATCHMAN_CONFIG_FILE'] = _sys2bytes(cfgfile) |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
108 with open(clilogfile, 'wb') as f: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
109 proc = subprocess.Popen( |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
110 argv, env=envb, stdin=None, stdout=f, stderr=f |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
111 ) |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
112 try: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
113 yield sockfile |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
114 finally: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
115 proc.terminate() |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
116 proc.kill() |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
117 finally: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
118 if args.keep_fsmonitor_tmpdir: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
119 print('fsmonitor dir available at %s' % basedir) |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
120 else: |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
121 shutil.rmtree(basedir, ignore_errors=True) |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
122 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
123 |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
124 def run(): |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
125 parser = getparser() |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
126 args, runtestsargv = parser.parse_known_args() |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
127 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
128 with watchman(args) as sockfile: |
44448
55c443fcb4fc
tests: rename _bytespath() to _sys2bytes() and _strpath() to _sys2str()
Manuel Jacob <me@manueljacob.de>
parents:
43076
diff
changeset
|
129 osenvironb[b'WATCHMAN_SOCK'] = _sys2bytes(sockfile) |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
130 # Indicate to hghave that we're running with fsmonitor enabled. |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
131 osenvironb[b'HGFSMONITOR_TESTS'] = b'1' |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
132 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
133 runtestdir = os.path.dirname(__file__) |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
134 runtests = os.path.join(runtestdir, 'run-tests.py') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
135 blacklist = os.path.join(runtestdir, 'blacklists', 'fsmonitor') |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
136 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
137 runtestsargv.insert(0, runtests) |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
138 runtestsargv.extend( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
139 [ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
140 '--extra-config', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
141 'extensions.fsmonitor=', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
142 # specify fsmonitor.mode=paranoid always in order to force |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
143 # fsmonitor extension execute "paranoid" code path |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
144 # |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
145 # TODO: make fsmonitor-run-tests.py accept specific options |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
146 '--extra-config', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
147 'fsmonitor.mode=paranoid', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
148 '--blacklist', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
149 blacklist, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
150 ] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
151 ) |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
152 |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
153 return subprocess.call(runtestsargv) |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
154 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40208
diff
changeset
|
155 |
32769
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
156 if __name__ == '__main__': |
efd6e941e933
tests: add a wrapper to run fsmonitor tests
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
157 sys.exit(run()) |