Commit Graph

2303 Commits (cfb94e463fecd36a228cbd1fc79576dda472e537)
 

Author SHA1 Message Date
David Wilson b0404bef40 tests: fix get_module_via_* encoding issues 6 years ago
David Wilson 9903692811 master: update scan_code_imports to cope with wordcode
Constant-sized opcodes were introduced as an optimization in Python 3.6.
See https://bugs.python.org/issue26647
6 years ago
David Wilson 9fb2371d64 importer: reorder/tweak find_module() tests to cope with six.moves
The old hack on the master side we had is broken for some reason on 3.x.
Instead tweak the client to be more selective: if a request is for a
module within a package, the package must be loaded (in sys.modules),
and its __loader__ must be us. Previously if the module didn't exist in
sys.modules, we'd still try to fetch from the master, which doesn't
appear to ever make sense.
6 years ago
David Wilson 826c477061 tests: built-in exceptions live in a different module in 3.x 6 years ago
David Wilson cbcd8267d1 tests: must decode() zlib result for 3.x. 6 years ago
David Wilson ec176bf1f8 tests: unittest2 import behaviour appears to differ between 2/3.
In 2 the module is loaded as __main__
In 3 it has its actual name.
6 years ago
David Wilson 410016ff47 Initial Python 3.x port work.
* ansible: use unicode_literals everywhere since it only needs to be
  compatible back to 2.6.
* compat/collections.py: delete this entirely and rip out the parts of
  functools that require it.
* Introduce serializable Kwargs dict subclass that translates keys to
  Unicode on instantiation.
* enable_debug_logging() must set _v/_vv globals.
* cStringIO does not exist in 3.x.
* Treat IOLogger and LogForwarder input as latin-1.
* Avoid ResourceWarnings in first stage by explicitly closing fps.
* Fix preamble_size.py syntax errors.
6 years ago
David Wilson 0aba88dd8b docs: promote contributors.rst 6 years ago
dw fca14339bd
Merge pull request #293 from dw/dmw2
docs: update & link in contributors page.
6 years ago
David Wilson e26f3d7907 docs: update & link in contributors page. 6 years ago
dw 87d309c6f1
Merge pull request #292 from dw/dmw2
docs: change install docs to point at stable branch.
6 years ago
David Wilson 6632f682da docs: change install docs to point at stable branch. 6 years ago
David Wilson cb595b30d4 issue #16: rearrange Travis matrix and add Python 3.6 target for core tests 6 years ago
dw 906bc91fab
Merge pull request #287 from dw/issue275
Issue275
6 years ago
David Wilson 8b398e797e issue #275: bump ansible to 2.5.5 6 years ago
David Wilson 3a304b2458 issue #275: su: add CentOS 6 style su failure 6 years ago
David Wilson fb8bad934b issue #275: Don't use -U in ansible_tests.sh -- forces paramiko upgrade 6 years ago
David Wilson 4f57c59b7e issue #275: Don't run virtualnv test on 2.6. 6 years ago
David Wilson b7eb96d116 issue #275: tests: don't explicitly specify interpreter path. 6 years ago
David Wilson 1cb084061c issue #275: Pin paramiko to a v2.6-compatible version. 6 years ago
David Wilson cec564654e issue #275: tests: fix module_finder_test for 2.6. 6 years ago
David Wilson 4be8afa3d3 issue #275: tests: fix test_simple for 2.6. 6 years ago
David Wilson 7b84a2c2e4 issue #275: tests: use same EC0_MARKER as parent.py 6 years ago
David Wilson 6e0883f369 issue #275: tests: fix bug in 2.6 compat check_output(), ignore it for >2.6. 6 years ago
David Wilson d6126a9516 issue #275: parent/ssh: centralize EC0_MARKER and change it for ssh.py.
Must maintain a minimum buffer length prior to deciding whether we have
an interesting token, and 'EC0' is too short for that.
6 years ago
David Wilson 84fa3ff024 issue #275: ssh: state machine-ish filter_debug() 6 years ago
David Wilson fbd5837cf2 issue #275: parent: use TIOCSCTTY on Linux too.
This appears to be harmless, except for Python 2.6 on Linux/Travis,
where for some reason (some stdlib change?) simply opening the TTY is
insufficient.
6 years ago
David Wilson 83617ad192 issue #275: tests: cache virtualenvs too 6 years ago
David Wilson e5d02b948b issue #275: travis: run_tests with -vvv 6 years ago
David Wilson 60ad75f436 issue #275: Tidier SSH debug logging. 6 years ago
David Wilson 3b1cc3676c issue #275: ssh_debug_level=3 for tests 6 years ago
David Wilson 6d618593f3 issue #275: Python 2.6 reports linux as 'linux3'. 6 years ago
David Wilson e0c116a29f issue #275: logging package uses classic classes in 2.6. 6 years ago
David Wilson 1d04a99adb issue #275: missing check_output() call 6 years ago
David Wilson 4649e11da3 issue #275: Travis build matrix from hell.
dev_requirements.txt:
- drop debops, it's not available for Python2.6
6 years ago
David Wilson cfd2887292 issue #275: default to 'python' for default remote interpreter.
So we get 2.4/2.5/2.6/2.7/3.x.
6 years ago
David Wilson 38d69a6ecd issue #275: tests: drop docker client dep, doesn't run on 2.6. 6 years ago
David Wilson b38318dfec issue #275: build for centos 6 too (python2.6) 6 years ago
dw 58335ab48e
Merge pull request #285 from dw/issue272
issue #272: add a blacklist for noisy target loggers
7 years ago
David Wilson 6025412050 issue #272: add a blacklist for noisy target loggers 7 years ago
dw 0cb9335cde
Merge pull request #284 from dw/issue277
issue #277: core: move Darwin versioner check into first stage
7 years ago
David Wilson 884a72ee86 issue #277: core: move Darwin versioner check into first stage
The 'versioner.c' dodging check added in 0ef23d86 was wrong, since the
check occurred on the host machine, when the fix actually needs to apply
to the Darwin target.

Fixes ability to target OS X from a Red Hat controller, manifesting as
an error like:

    D mitogen: mitogen.parent.TtyLogStream('local.2472'):  'python(mitogen:dmw@localhost.localdomain:2449): realpath couldn\'t resolve "/usr/bin/python(mitogen:dmw@localhost.localdomain:2449)"'

The "realpath couldn't resolve" error comes from versioner.c:

    https://opensource.apple.com/source/perl/perl-104/versioner/versioner.c
7 years ago
dw c1d70b6ea9
Merge pull request #283 from dw/recv-race
core: race during Receiver construction.
7 years ago
David Wilson 75b195ba4b core: race during Receiver construction.
It's possible for a message to arrive after .add_handler() but before
Latch construction.

This is papering over a bigger problem with service pool instantiation.

https://travis-ci.org/dw/mitogen/jobs/390409832#L2901

    TASK [Spin up a few interpreters] **********************************************
    changed: [target] => (item=1)
    ERROR! [pid 5355] 14:47:50.224945 E mitogen.ctx.ssh.localhost:2201.sudo.mitogen__user2: mitogen: Router(Broker(0x7f1e93911450))._invoke(Message(19100, 19095, 19095, 110, 1005, '\x80\x02U\x1fmitogen.service.PushFileServiceq\x01U\x11store_and_f'..8955)): <bound method Receiver._on_receive of Receiver(Router(Broker(0x7f1e93911450)), 110)> crashed
    Traceback (most recent call last):
      File "<stdin>", line 1471, in _invoke
      File "<stdin>", line 491, in _on_receive
    AttributeError: 'Receiver' object has no attribute '_latch'
7 years ago
dw 27ab051289
Merge pull request #282 from dw/issue278
Issue278
7 years ago
David Wilson 6d14652077 issue #278: tests: fix fakessh.
See source comment. This behaviour always existed, but it now seems to
be triggered since we started draining the master side input buffer,
which someone was prolonging the life of the PTY.
7 years ago
David Wilson 0e958ea177 issue #278: tty logger Side constructed with incorrect Stream
Harmless, but produced the wrong log message prefix.
7 years ago
David Wilson 04b65020ac issue #278: ansible: support mitogen_ssh_debug_level variable. 7 years ago
David Wilson b58603c7a4 issue #278: ssh: support ssh_debug_level option and log TTY output.
Now debug logs may be captured all the way through the connection.
7 years ago
dw 29262a6000
Merge pull request #281 from dw/issue280
Issue280
7 years ago