Compare commits
84 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
f77db1da59 | 4 months ago |
|
|
fd1d45568a | 4 months ago |
|
|
021d712edc | 4 months ago |
|
|
536ab7d78e | 4 months ago |
|
|
4f213ab365 | 6 months ago |
|
|
1b137f1531 | 6 months ago |
|
|
0eb7ee2250 | 7 months ago |
|
|
9e02175134 | 7 months ago |
|
|
29d78ae4aa | 10 months ago |
|
|
f423529211 | 10 months ago |
|
|
b8c876dac5 | 11 months ago |
|
|
0ebbb0650d | 11 months ago |
|
|
161a231e48 | 11 months ago |
|
|
517768ac3f | 11 months ago |
|
|
5075cf9c24 | 1 year ago |
|
|
d8494129f5 | 1 year ago |
|
|
4b0954a441 | 1 year ago |
|
|
02898d70a4 | 1 year ago |
|
|
d8408b1f25 | 1 year ago |
|
|
35cc81b074 | 1 year ago |
|
|
c883f177f3 | 1 year ago |
|
|
a41a9544eb | 1 year ago |
|
|
33b082f432 | 1 year ago |
|
|
f4d7385a9c | 1 year ago |
|
|
4bc0d9a050 | 1 year ago |
|
|
9e5d6bfb1b | 1 year ago |
|
|
94e02e1157 | 1 year ago |
|
|
37684545e7 | 1 year ago |
|
|
63e193bdbe | 1 year ago |
|
|
644d42f831 | 1 year ago |
|
|
0b895c8673 | 1 year ago |
|
|
61c82c8dee | 1 year ago |
|
|
80efb4668d | 1 year ago |
|
|
6f903b28de | 1 year ago |
|
|
db1b7af6cc | 1 year ago |
|
|
bfafcbbc77 | 1 year ago |
|
|
5e903ab1e1 | 1 year ago |
|
|
d0d39cccf2 | 1 year ago |
|
|
3f7a0f74a5 | 2 years ago |
|
|
f6ed546c38 | 2 years ago |
|
|
b488baed25 | 2 years ago |
|
|
d70ec4e540 | 2 years ago |
|
|
8059be7160 | 2 years ago |
|
|
1c0253f201 | 2 years ago |
|
|
11e5529e44 | 2 years ago |
|
|
1fbf93203c | 2 years ago |
|
|
541f7c3247 | 2 years ago |
|
|
1572da1563 | 2 years ago |
|
|
d83cfd6bed | 2 years ago |
|
|
d26ded2ecb | 2 years ago |
|
|
b4d910ae1d | 2 years ago |
|
|
660d3e0885 | 4 years ago |
|
|
8ab84237af | 4 years ago |
|
|
bd3cfb4230 | 4 years ago |
|
|
1a84184838 | 4 years ago |
|
|
2bdffd05d0 | 4 years ago |
|
|
b19223c168 | 4 years ago |
|
|
61ccf055ad | 4 years ago |
|
|
74e7bc2bf7 | 4 years ago |
|
|
55f973e74e | 4 years ago |
|
|
58ce9d83a4 | 4 years ago |
|
|
d3f6ad74c4 | 6 years ago |
|
|
706a94bc97 | 6 years ago |
|
|
251642943d | 7 years ago |
|
|
407307adf6 | 7 years ago |
|
|
ae80d42cb4 | 7 years ago |
|
|
129f7c5dea | 7 years ago |
|
|
cf1286b9e1 | 7 years ago |
|
|
e56db4ccb7 | 7 years ago |
|
|
d9696c1cd5 | 7 years ago |
|
|
0114358df0 | 7 years ago |
|
|
71f8e84845 | 7 years ago |
|
|
2ab6394d1c | 7 years ago |
|
|
3c63290445 | 7 years ago |
|
|
5667116f58 | 7 years ago |
|
|
2446f85cb6 | 7 years ago |
|
|
ff5044272f | 7 years ago |
|
|
b1c7afa948 | 7 years ago |
|
|
92e058c178 | 7 years ago |
|
|
74eb9b2702 | 7 years ago |
|
|
d16f7eec26 | 7 years ago |
|
|
2a53d7b658 | 7 years ago |
|
|
bac2fe1689 | 7 years ago |
|
|
f8e191ca8d | 8 years ago |
@ -1,13 +0,0 @@
|
|||||||
# shellcheck shell=bash
|
|
||||||
|
|
||||||
# Tox environment name -> Python executable name (e.g. py312-m_mtg -> python3.12)
|
|
||||||
toxenv-python() {
|
|
||||||
local pattern='^py([23])([0-9]{1,2}).*'
|
|
||||||
if [[ $1 =~ $pattern ]]; then
|
|
||||||
echo "python${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
|
|
||||||
return
|
|
||||||
else
|
|
||||||
echo "${FUNCNAME[0]}: $1: environment name not recognised" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
@ -1,33 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -o errexit -o nounset -o pipefail
|
|
||||||
|
|
||||||
INDENT=" "
|
|
||||||
POSSIBLE_PYTHONS=(
|
|
||||||
python
|
|
||||||
python2
|
|
||||||
python3
|
|
||||||
/usr/bin/python
|
|
||||||
/usr/bin/python2
|
|
||||||
/usr/bin/python3
|
|
||||||
# GitHub macOS 12 images: python2.7 is installed, but not on $PATH
|
|
||||||
/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
|
|
||||||
)
|
|
||||||
|
|
||||||
for p in "${POSSIBLE_PYTHONS[@]}"; do
|
|
||||||
echo "$p"
|
|
||||||
if [[ ${p:0:1} == "/" && -e $p ]]; then
|
|
||||||
:
|
|
||||||
elif type "$p" > /dev/null 2>&1; then
|
|
||||||
type "$p" 2>&1 | sed -e "s/^/${INDENT}type: /"
|
|
||||||
else
|
|
||||||
echo "${INDENT}Not present"
|
|
||||||
echo
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
$p -c "import sys; print('${INDENT}version: %d.%d.%d' % sys.version_info[:3])"
|
|
||||||
# macOS builders lack a realpath command
|
|
||||||
$p -c "import os.path; print('${INDENT}realpath: %s' % os.path.realpath('$(type -p "$p")'))"
|
|
||||||
$p -c "import sys; print('${INDENT}sys.executable: %s' % sys.executable)"
|
|
||||||
echo
|
|
||||||
done
|
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
name: Mitogen 0.2.x bug report
|
||||||
|
about: Report a bug in Mitogen 0.2.x (for Ansible 2.5, 2.6, 2.7, 2.8, or 2.9)
|
||||||
|
title: ''
|
||||||
|
labels: affects-0.2, bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Please drag-drop large logs as text file attachments.
|
||||||
|
|
||||||
|
Feel free to write an issue in your preferred format, however if in doubt, use
|
||||||
|
the following checklist as a guide for what to include.
|
||||||
|
|
||||||
|
* Which version of Ansible are you running?
|
||||||
|
* Is your version of Ansible patched in any way?
|
||||||
|
* Are you running with any custom modules, or `module_utils` loaded?
|
||||||
|
|
||||||
|
* Have you tried the latest master version from Git?
|
||||||
|
* Do you have some idea of what the underlying problem may be?
|
||||||
|
https://mitogen.networkgenomics.com/ansible_detailed.html#common-problems has
|
||||||
|
instructions to help figure out the likely cause and how to gather relevant
|
||||||
|
logs.
|
||||||
|
* Mention your host and target OS and versions
|
||||||
|
* Mention your host and target Python versions
|
||||||
|
* If reporting a performance issue, mention the number of targets and a rough
|
||||||
|
description of your workload (lots of copies, lots of tiny file edits, etc.)
|
||||||
|
* If reporting a crash or hang in Ansible, please rerun with -vvv and include
|
||||||
|
200 lines of output around the point of the error, along with a full copy of
|
||||||
|
any traceback or error text in the log. Beware "-vvv" may include secret
|
||||||
|
data! Edit as necessary before posting.
|
||||||
|
* If reporting any kind of problem with Ansible, please include the Ansible
|
||||||
|
version along with output of "ansible-config dump --only-changed".
|
||||||
@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
name: Mitogen 0.3.x bug report
|
||||||
|
about: Report a bug in Mitogen 0.3.x (for Ansible 2.10.x)
|
||||||
|
title: ''
|
||||||
|
labels: affects-0.3, bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Please drag-drop large logs as text file attachments.
|
||||||
|
|
||||||
|
Feel free to write an issue in your preferred format, however if in doubt, use
|
||||||
|
the following checklist as a guide for what to include.
|
||||||
|
|
||||||
|
* Which version of Ansible are you running?
|
||||||
|
* Is your version of Ansible patched in any way?
|
||||||
|
* Are you running with any custom modules, or `module_utils` loaded?
|
||||||
|
|
||||||
|
* Have you tried the latest master version from Git?
|
||||||
|
* Do you have some idea of what the underlying problem may be?
|
||||||
|
https://mitogen.networkgenomics.com/ansible_detailed.html#common-problems has
|
||||||
|
instructions to help figure out the likely cause and how to gather relevant
|
||||||
|
logs.
|
||||||
|
* Mention your host and target OS and versions
|
||||||
|
* Mention your host and target Python versions
|
||||||
|
* If reporting a performance issue, mention the number of targets and a rough
|
||||||
|
description of your workload (lots of copies, lots of tiny file edits, etc.)
|
||||||
|
* If reporting a crash or hang in Ansible, please rerun with -vvv and include
|
||||||
|
200 lines of output around the point of the error, along with a full copy of
|
||||||
|
any traceback or error text in the log. Beware "-vvv" may include secret
|
||||||
|
data! Edit as necessary before posting.
|
||||||
|
* If reporting any kind of problem with Ansible, please include the Ansible
|
||||||
|
version along with output of "ansible-config dump --only-changed".
|
||||||
@ -1,62 +0,0 @@
|
|||||||
name: Bug report
|
|
||||||
description: Report a bug in Mitogen 0.3.x (for Ansible 2.10 and above)
|
|
||||||
labels:
|
|
||||||
- affects-0.3
|
|
||||||
type: bug
|
|
||||||
|
|
||||||
body:
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Description
|
|
||||||
description: >
|
|
||||||
When does the problem occur?
|
|
||||||
What happens after?
|
|
||||||
How is this different?
|
|
||||||
Did it previously behave as expected?
|
|
||||||
placeholder: |
|
|
||||||
When I do X, Y happens, but I was expecting Z because ...
|
|
||||||
Before version 1.2.3 it worked as expected.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: input
|
|
||||||
attributes:
|
|
||||||
label: Mitogen version
|
|
||||||
placeholder: 0.3.31, 0.3.3-9+deb12u1
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: input
|
|
||||||
attributes:
|
|
||||||
label: Ansible version (if applicable)
|
|
||||||
placeholder: 2.18.11
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: OS and environment
|
|
||||||
description: >
|
|
||||||
What operating system version(s), Python version(s), etc. are you using?
|
|
||||||
placeholder: |
|
|
||||||
Controller (master): Debian 13, Python 3.14
|
|
||||||
Targets (slaves): Ubuntu 20.04/Python 2.7, RHEL 10, ...
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Steps to reproduce
|
|
||||||
description: >
|
|
||||||
Instructions, code, or playbook(s) recreate the beahviour
|
|
||||||
value: |
|
|
||||||
Steps:
|
|
||||||
1. Set config `foo = 42` in somefile.cfg
|
|
||||||
2. Run the following Python or Playbook with `cmd --option bar ...`
|
|
||||||
|
|
||||||
```
|
|
||||||
Code or playbook here
|
|
||||||
```
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
attributes:
|
|
||||||
label: Anything else
|
|
||||||
description: >
|
|
||||||
Include any other details you think might be relevant or helpful.
|
|
||||||
Examples might include logs, unusual settings, environment variables, ...
|
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
path_classifiers:
|
||||||
|
library:
|
||||||
|
- "mitogen/compat"
|
||||||
|
- "ansible_mitogen/compat"
|
||||||
|
queries:
|
||||||
|
# Mitogen 2.4 compatibility trips this query everywhere, so just disable it
|
||||||
|
- exclude: py/unreachable-statement
|
||||||
|
- exclude: py/should-use-with
|
||||||
|
# mitogen.core.b() trips this query everywhere, so just disable it
|
||||||
|
- exclude: py/import-and-import-from
|
||||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 84 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 99 KiB |
@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
# Add viewBox attr to SVGs lacking it, so IE scales properly.
|
||||||
|
|
||||||
|
import lxml.etree
|
||||||
|
import glob
|
||||||
|
|
||||||
|
|
||||||
|
for name in glob.glob('images/*.svg') + glob.glob('images/ansible/*.svg'):
|
||||||
|
doc = lxml.etree.parse(open(name))
|
||||||
|
svg = doc.getroot()
|
||||||
|
if 'viewBox' not in svg.attrib:
|
||||||
|
svg.attrib['viewBox'] = '0 0 %(width)s %(height)s' % svg.attrib
|
||||||
|
open(name, 'w').write(lxml.etree.tostring(svg, xml_declaration=True, encoding='UTF-8'))
|
||||||
@ -1,38 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2025 Mitogen authors <https://github.com/mitogen-hq>
|
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
# !mitogen: minify_safe
|
|
||||||
|
|
||||||
import sys
|
|
||||||
|
|
||||||
if sys.version_info >= (3, 14):
|
|
||||||
from mitogen.imports._py314 import _code_imports
|
|
||||||
elif sys.version_info >= (3, 6):
|
|
||||||
from mitogen.imports._py36 import _code_imports
|
|
||||||
elif sys.version_info >= (2, 5):
|
|
||||||
from mitogen.imports._py2 import _code_imports_py25 as _code_imports
|
|
||||||
else:
|
|
||||||
from mitogen.imports._py2 import _code_imports_py24 as _code_imports
|
|
||||||
|
|
||||||
|
|
||||||
def codeobj_imports(co):
|
|
||||||
"""
|
|
||||||
Yield (level, modname, names) tuples by scanning the code object `co`.
|
|
||||||
|
|
||||||
Top level `import mod` & `from mod import foo` statements are matched.
|
|
||||||
Those inside a `class ...` or `def ...` block are currently skipped.
|
|
||||||
|
|
||||||
>>> co = compile('import a, b; from c import d, e as f', '<str>', 'exec')
|
|
||||||
>>> list(codeobj_imports(co)) # doctest: +ELLIPSIS
|
|
||||||
[(..., 'a', ()), (..., 'b', ()), (..., 'c', ('d', 'e'))]
|
|
||||||
|
|
||||||
:return:
|
|
||||||
Generator producing `(level, modname, names)` tuples, where:
|
|
||||||
|
|
||||||
* `level`:
|
|
||||||
-1 implicit relative (Python 2.x default)
|
|
||||||
0 absolute (Python 3.x, `from __future__ import absolute_import`)
|
|
||||||
>0 explicit relative (`from . import a`, `from ..b, import c`)
|
|
||||||
* `modname`: Name of module to import, or to import `names` from.
|
|
||||||
* `names`: tuple of names in `from mod import ..`.
|
|
||||||
"""
|
|
||||||
return _code_imports(co.co_code, co.co_consts, co.co_names)
|
|
||||||
@ -1,54 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2025 Mitogen authors <https://github.com/mitogen-hq>
|
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
# !mitogen: minify_safe
|
|
||||||
|
|
||||||
import array
|
|
||||||
import itertools
|
|
||||||
import opcode
|
|
||||||
|
|
||||||
|
|
||||||
IMPORT_NAME = opcode.opmap['IMPORT_NAME']
|
|
||||||
LOAD_CONST = opcode.opmap['LOAD_CONST']
|
|
||||||
|
|
||||||
|
|
||||||
def _opargs(code, _have_arg=opcode.HAVE_ARGUMENT):
|
|
||||||
it = iter(array.array('B', code))
|
|
||||||
nexti = it.next
|
|
||||||
for i in it:
|
|
||||||
if i >= _have_arg:
|
|
||||||
yield (i, nexti() | (nexti() << 8))
|
|
||||||
else:
|
|
||||||
yield (i, None)
|
|
||||||
|
|
||||||
|
|
||||||
def _code_imports_py25(code, consts, names):
|
|
||||||
it1, it2, it3 = itertools.tee(_opargs(code), 3)
|
|
||||||
try:
|
|
||||||
next(it2)
|
|
||||||
next(it3)
|
|
||||||
next(it3)
|
|
||||||
except StopIteration:
|
|
||||||
return
|
|
||||||
for oparg1, oparg2, (op3, arg3) in itertools.izip(it1, it2, it3):
|
|
||||||
if op3 != IMPORT_NAME:
|
|
||||||
continue
|
|
||||||
op1, arg1 = oparg1
|
|
||||||
op2, arg2 = oparg2
|
|
||||||
if op1 != LOAD_CONST or op2 != LOAD_CONST:
|
|
||||||
continue
|
|
||||||
yield (consts[arg1], names[arg3], consts[arg2] or ())
|
|
||||||
|
|
||||||
|
|
||||||
def _code_imports_py24(code, consts, names):
|
|
||||||
it1, it2 = itertools.tee(_opargs(code), 2)
|
|
||||||
try:
|
|
||||||
next(it2)
|
|
||||||
except StopIteration:
|
|
||||||
return
|
|
||||||
for oparg1, (op2, arg2) in itertools.izip(it1, it2):
|
|
||||||
if op2 != IMPORT_NAME:
|
|
||||||
continue
|
|
||||||
op1, arg1 = oparg1
|
|
||||||
if op1 != LOAD_CONST:
|
|
||||||
continue
|
|
||||||
yield (-1, names[arg2], consts[arg1] or ())
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2025 Mitogen authors <https://github.com/mitogen-hq>
|
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
# !mitogen: minify_safe
|
|
||||||
|
|
||||||
import opcode
|
|
||||||
|
|
||||||
IMPORT_NAME = opcode.opmap['IMPORT_NAME']
|
|
||||||
LOAD_CONST = opcode.opmap['LOAD_CONST']
|
|
||||||
LOAD_SMALL_INT = opcode.opmap['LOAD_SMALL_INT']
|
|
||||||
|
|
||||||
|
|
||||||
def _code_imports(code, consts, names):
|
|
||||||
start = 4
|
|
||||||
while True:
|
|
||||||
op3_idx = code.find(IMPORT_NAME, start, -1)
|
|
||||||
if op3_idx < 0:
|
|
||||||
return
|
|
||||||
if op3_idx % 2:
|
|
||||||
start = op3_idx + 1
|
|
||||||
continue
|
|
||||||
if code[op3_idx-4] != LOAD_SMALL_INT or code[op3_idx-2] != LOAD_CONST:
|
|
||||||
start = op3_idx + 2
|
|
||||||
continue
|
|
||||||
start = op3_idx + 6
|
|
||||||
arg1, arg2, arg3 = code[op3_idx-3], code[op3_idx-1], code[op3_idx+1]
|
|
||||||
yield (arg1, names[arg3], consts[arg2] or ())
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
# SPDX-FileCopyrightText: 2025 Mitogen authors <https://github.com/mitogen-hq>
|
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
|
||||||
# !mitogen: minify_safe
|
|
||||||
|
|
||||||
import opcode
|
|
||||||
|
|
||||||
IMPORT_NAME = opcode.opmap['IMPORT_NAME']
|
|
||||||
LOAD_CONST = opcode.opmap['LOAD_CONST']
|
|
||||||
|
|
||||||
|
|
||||||
def _code_imports(code, consts, names):
|
|
||||||
start = 4
|
|
||||||
while True:
|
|
||||||
op3_idx = code.find(IMPORT_NAME, start, -1)
|
|
||||||
if op3_idx < 0:
|
|
||||||
return
|
|
||||||
if op3_idx % 2:
|
|
||||||
start = op3_idx + 1
|
|
||||||
continue
|
|
||||||
if code[op3_idx-4] != LOAD_CONST or code[op3_idx-2] != LOAD_CONST:
|
|
||||||
start = op3_idx + 2
|
|
||||||
continue
|
|
||||||
start = op3_idx + 6
|
|
||||||
arg1, arg2, arg3 = code[op3_idx-3], code[op3_idx-1], code[op3_idx+1]
|
|
||||||
yield (consts[arg1], names[arg3], consts[arg2] or ())
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
pkg_mgr_python_interpreter: python3
|
|
||||||
|
|
||||||
# Alma Linux 9, RHEL 9, etc. lack a virtualenv package
|
|
||||||
virtualenv_create_argv:
|
|
||||||
- "{{ virtualenv_python }}"
|
|
||||||
- -m
|
|
||||||
- venv
|
|
||||||
- "{{ virtualenv_path }}"
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
become_doas_available: true
|
|
||||||
pkg_mgr_python_interpreter: python3
|
|
||||||
@ -1,6 +1,4 @@
|
|||||||
package_manager_repos:
|
package_manager_repos:
|
||||||
- dest: /etc/apt/sources.list
|
- dest: /etc/apt/sources.list
|
||||||
content: |
|
content: |
|
||||||
deb http://archive.debian.org/debian/ stretch main contrib non-free
|
deb http://archive.debian.org/debian stretch main contrib non-free
|
||||||
deb http://archive.debian.org/debian/ stretch-proposed-updates main contrib non-free
|
|
||||||
deb http://archive.debian.org/debian-security stretch/updates main contrib non-free
|
|
||||||
|
|||||||
@ -1,2 +0,0 @@
|
|||||||
become_doas_available: true
|
|
||||||
pkg_mgr_python_interpreter: python3
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
become_doas_available: true
|
|
||||||
pkg_mgr_python_interpreter: python3
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,18 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -o errexit
|
|
||||||
set -o pipefail
|
|
||||||
set -o nounset
|
|
||||||
|
|
||||||
BENCH_FUNC="codeobj_imports"
|
|
||||||
BENCH_EXPR="deque($BENCH_FUNC(co), maxlen=0)"
|
|
||||||
BIG_MODULE_PATH="$(dirname -- "$0")/data/big_module.py"
|
|
||||||
IMPORTS="from collections import deque; from mitogen.imports import $BENCH_FUNC"
|
|
||||||
COMPILE="co=compile(open('$BIG_MODULE_PATH').read(), '$BIG_MODULE_PATH', 'exec')"
|
|
||||||
PYTHONS=(
|
|
||||||
python2.7 python3.{9..14}
|
|
||||||
)
|
|
||||||
for p in "${PYTHONS[@]}"; do
|
|
||||||
echo -e -n "$BENCH_FUNC $p "
|
|
||||||
$p -m timeit -s "$IMPORTS" -s "$COMPILE" "$BENCH_EXPR"
|
|
||||||
done
|
|
||||||
Binary file not shown.
@ -1,11 +0,0 @@
|
|||||||
# pyright: reportMissingImports=false
|
|
||||||
# ruff: noqa: E401 E702 F401 F403
|
|
||||||
|
|
||||||
import a
|
|
||||||
import a.b
|
|
||||||
import c as d
|
|
||||||
import e, e.f as g \
|
|
||||||
, h; import i
|
|
||||||
|
|
||||||
from j import k, l, m as n
|
|
||||||
from o import *
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
# pyright: reportMissingImports=false
|
|
||||||
# ruff: noqa: E401 E702 F401 F403
|
|
||||||
|
|
||||||
from . import a
|
|
||||||
from .b import c, d as e
|
|
||||||
from ... import (
|
|
||||||
f,
|
|
||||||
j as k,
|
|
||||||
)
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
# pyright: reportMissingImports=false
|
|
||||||
# ruff: noqa: E401 E702 F401 F403
|
|
||||||
|
|
||||||
from __future__ import absolute_import
|
|
||||||
|
|
||||||
import a
|
|
||||||
import a.b
|
|
||||||
import c as d
|
|
||||||
import e, e.f as g \
|
|
||||||
, h; import i
|
|
||||||
|
|
||||||
from j import k, l, m as n
|
|
||||||
from o import *
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
class C:
|
|
||||||
import in_class
|
|
||||||
from in_class import x as y
|
|
||||||
|
|
||||||
def m(self):
|
|
||||||
import in_method
|
|
||||||
from in_method import x as y, z
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
def f():
|
|
||||||
import in_func
|
|
||||||
from in_func import x as y, z
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
if True:
|
|
||||||
import in_if_always_true
|
|
||||||
from in_if_always_true import x as y, z
|
|
||||||
else:
|
|
||||||
import in_else_never_true
|
|
||||||
from in_else_never_true import x as y, z
|
|
||||||
|
|
||||||
if sys.version >= (3, 0):
|
|
||||||
import in_if_py3
|
|
||||||
from in_if_py3 import x as y, z
|
|
||||||
else:
|
|
||||||
import in_else_py2
|
|
||||||
from in_else_py2 import x as y, z
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
try:
|
|
||||||
import in_try
|
|
||||||
from in_try import x as y, z
|
|
||||||
except ImportError:
|
|
||||||
import in_except_importerror
|
|
||||||
from in_except_importerror import x as y, z
|
|
||||||
except Exception:
|
|
||||||
import in_except_exception
|
|
||||||
from in_except_exception import x as y, z
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
- name: Setup container host
|
|
||||||
hosts: localhost
|
|
||||||
become: true
|
|
||||||
roles:
|
|
||||||
- role: container_host
|
|
||||||
@ -1,17 +1,12 @@
|
|||||||
|
|
||||||
[defaults]
|
[defaults]
|
||||||
any_errors_fatal = true
|
|
||||||
# Ansible >= 6 (ansible-core >= 2.13)
|
|
||||||
callback_result_format = yaml
|
|
||||||
deprecation_warnings = false
|
deprecation_warnings = false
|
||||||
duplicate_dict_key = error
|
|
||||||
inventory = hosts.ini
|
|
||||||
strategy_plugins = ../../ansible_mitogen/plugins/strategy
|
strategy_plugins = ../../ansible_mitogen/plugins/strategy
|
||||||
retry_files_enabled = false
|
retry_files_enabled = false
|
||||||
|
display_args_to_stdout = True
|
||||||
no_target_syslog = True
|
no_target_syslog = True
|
||||||
host_key_checking = False
|
host_key_checking = False
|
||||||
|
stdout_callback = yaml
|
||||||
|
|
||||||
[inventory]
|
[inventory]
|
||||||
any_unparsed_is_failed = true
|
unparsed_is_fatal = true
|
||||||
host_pattern_mismatch = error
|
|
||||||
unparsed_is_failed = true
|
|
||||||
|
|||||||
@ -1,33 +0,0 @@
|
|||||||
DefaultRuntimeDir ${XDG_RUNTIME_DIR}
|
|
||||||
PidFile ${XDG_RUNTIME_DIR}/apache2.pid
|
|
||||||
|
|
||||||
LoadModule alias_module /usr/lib/apache2/modules/mod_alias.so
|
|
||||||
LoadModule authz_core_module /usr/lib/apache2/modules/mod_authz_core.so
|
|
||||||
LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so
|
|
||||||
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
|
|
||||||
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
|
|
||||||
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
|
|
||||||
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
|
|
||||||
|
|
||||||
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
|
|
||||||
|
|
||||||
KeepAlive On
|
|
||||||
Listen 8090
|
|
||||||
|
|
||||||
<Directory />
|
|
||||||
Require all denied
|
|
||||||
AllowOverride None
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
<VirtualHost *:8090>
|
|
||||||
ServerName centos-vault-proxy
|
|
||||||
SSLProxyEngine On
|
|
||||||
CustomLog logs/access.log vhost_combined
|
|
||||||
ProxyPass "/" "https://vault.centos.org/"
|
|
||||||
ProxyPassReverse "https://vault.centos.org/" "/"
|
|
||||||
RedirectMatch "^/(.*)" "http://centos-vault-proxy:8090/$1"
|
|
||||||
</VirtualHost>
|
|
||||||
|
|
||||||
# /usr/sbin/apache2 -d . -f apache_proxy.conf -D FOREGROUND
|
|
||||||
|
|
||||||
# vim: syntax=apache
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
# Testing non-blocking stdio during bootstrap
|
|
||||||
# https://github.com/mitogen-hq/mitogen/issues/1306
|
|
||||||
Defaults log_output
|
|
||||||
|
|
||||||
Defaults>mitogen__pw_required targetpw
|
|
||||||
Defaults>mitogen__require_tty requiretty
|
|
||||||
Defaults>mitogen__require_tty_pw_required requiretty,targetpw
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue