lp://staging/~lttng/babeltrace/trunk

Created by Ubuntu LTTng and last modified
Get this branch:
bzr branch lp://staging/~lttng/babeltrace/trunk

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu LTTng
Project:
Babeltrace
Status:
Development

Import details

Import Status: Suspended

This branch is an import of the HEAD branch of the Git repository at git://git.efficios.com/babeltrace.git.

Last successful import was .

Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-5 and finished taking 30 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 15 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-3 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 20 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-2 and finished taking 40 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-4 and finished taking 40 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-1 and finished taking 25 seconds — see the log
Import started on juju-98ee42-prod-launchpad-codeimport-0 and finished taking 20 seconds — see the log

Recent revisions

4514. By Simon Marchi <email address hidden>

fix: test_message_iterator.py hangs on Python 3.12

Starting with Python 3.12, `None` is immortal: its refcount operations
are NO-OP and sys.getrefcount() will return a static value of UINT_MAX
on 64-bit and UINT_MAX >> 2 on 32-bit.

This basically transform `test_try_again_many_times` in an almost
infinite loop and hangs the testsuite.

Detect this by checking if the refcount on `None` is incremented after
assigning to a variable and skip the test if it's not the case.

See PEP-0683[1] for the gory details.

[1] https://peps.python.org/pep-0683/

Change-Id: Id07658245d524288ce7606cb0a011ad97068dad1
Signed-off-by: Michael Jeanson <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10379
Reviewed-by: Philippe Proulx <email address hidden>

4513. By Francis Deslauriers <email address hidden>

Fix: src.ctf.fs: omitting to add ctf signature

When depacketizing a metadata stream we may need to add the CTF 1.8
signature at the beginning of the file if it's absent.

This fixes a regression introduces by commit:
  commit 06be99464988953e390114337ccdd20622fb50d1
  Author: Philippe Proulx <email address hidden>
  Date: Tue Jul 9 19:40:45 2019 -0400

      ctf: refactor metadata decoder to always have an instance

This regression was not caught earlier because the test case for that
feature was disabled.

This commit reintroduces that behaviour and enables the test case.

Signed-off-by: Francis Deslauriers <email address hidden>
Change-Id: I3621a7f8a21ffe51f29dfa344f30039fdf5d16c4
Reviewed-on: https://review.lttng.org/c/babeltrace/+/8204
Tested-by: jenkins <email address hidden>
Reviewed-by: Philippe Proulx <email address hidden>
CI-Build: Simon Marchi <email address hidden>

4512. By Simon Marchi <email address hidden>

tests: fix file comment of plugins/src.ctf.lttng-live/test_live

That comment appears to be a copy-paste leftover from a `src.ctf.fs`
test. Adjust it to make it relevant to that file.

Change-Id: I943cef771d01589ec432a75128860c7c55aed314
Signed-off-by: Simon Marchi <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3599
Reviewed-by: Philippe Proulx <email address hidden>

4511. By Michael Jeanson <email address hidden>

fix: python bindings: use stdlib distutils when setuptools is installed

When the setuptools package is installed, it monkey patches the standard
library distutils even if the user code doesn't import setuptools.

This results in a failure to install the Python agent in a directory
which isn't in the current PYTHONPATH. To allow this, setuptools requires
the '--single-version-externally-managed' options which is not
implemented in distutils.

To resolve this, force the use of distutils for Python < 3.12 even when
setuptools is installed with the 'SETUPTOOLS_USE_DISTUTILS' environment
variable and use the previously mentionned setuptools option with Python
>= 3.12 which doesn't include distutils anymore.

Change-Id: I9e8412021c6ec79b0a9ea38759c475113e4ea018
Signed-off-by: Michael Jeanson <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10371
Tested-by: jenkins <email address hidden>
Reviewed-by: Philippe Proulx <email address hidden>

4510. By Michael Jeanson <email address hidden>

fix: python bindings: install on Debian python >= 3.10

Starting with Debian's Python 3.10, the default install scheme is
'posix_local' which is a Debian specific scheme based on 'posix_prefix'
but with an added 'local' prefix. This is the default so users doing
system wide manual installations of python modules end up in
'/usr/local'. This interferes with our autotools based install which
already defaults to '/usr/local' and expects a provided prefix to be
used verbatim.

Monkeypatch sysconfig to override this scheme and use 'posix_prefix'
instead.

Change-Id: I41973f6db4966519aa1c7e74a9d1e9b5d90bf7ea
Signed-off-by: Michael Jeanson <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10343
Tested-by: jenkins <email address hidden>
Reviewed-by: Philippe Proulx <email address hidden>

4509. By Simon Marchi <email address hidden>

ctf: remove some unused `ctx` parameters in visitor-generate-ir.cpp

My editor pointed these out.

Change-Id: Ia0c3b244c0037a9a2111f53cfd7fbf2ede7bb2c7
Signed-off-by: Simon Marchi <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10453
Tested-by: jenkins <email address hidden>
Reviewed-by: Philippe Proulx <email address hidden>

4508. By Simon Marchi <email address hidden>

tests: remove unused MyFilter in UserMessageIteratorTestCase.test_try_again_many_times

This MyFilter class (and associated MyFilterIter class) is not used,
remove it.

Change-Id: Ib148361606ac8814145b2924a940e262eb7d4bd7
Signed-off-by: Simon Marchi <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10380
Reviewed-by: Michael Jeanson <email address hidden>
CI-Build: Michael Jeanson <email address hidden>
Tested-by: jenkins <email address hidden>

4507. By Simon Marchi <email address hidden>

Remove dev-requirements.txt entry for click

Since we don't use black 22 anymore, this entry for click is not
required anymore.

Change-Id: Icf89fca7c7af6d71bb00c0fc4f6ca1d18e17b653
Signed-off-by: Simon Marchi <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/11057
Tested-by: jenkins <email address hidden>
Reviewed-by: Michael Jeanson <email address hidden>
CI-Build: Michael Jeanson <email address hidden>

4506. By .eepp

Add `tests/utils/python/normand.py` (Normand 0.23)

This is an unmodified copy of the `normand.py` module [1], version 0.23.

Normand, an EfficiOS project, is both a template language to generate
binary data and a processor of said language.

`normand.py` is part of the `normand` package, but it's completely
independent, without external dependencies, therefore we can copy it
right here. `normand.py` works with Python 3.4. The module itself offers
a Python 3 API as well as a command-line tool.

We plan to use Normand in Babeltrace 2 to write human-readable and
Git-trackable plain text CTF data streams, and eventually other types of
binary data, for testing purposes.

Although Normand is an EfficiOS project, it's considered an external
project from the point of view of the Babeltrace project. Therefore, we
make Black, isort, and Flake8 ignore it, even though Normand uses the
same settings in its own repository.

[1]: https://github.com/efficios/normand

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I6e8937cf40320c3cf1226c3447f71640ed9f91bf
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10910
Tested-by: jenkins <email address hidden>
Reviewed-by: Simon Marchi <email address hidden>

4505. By .eepp

tests: use a local `typing` module with Python 3.4 only

This patch changes the strategy to support the `typing` module in tests.

To make it possible to include compatible third-party/portable Python
modules as is, Python needs to find the `typing` module. Python 3.5+
will find it, but Python 3.4 won't.

To fix this:

1. `tests/utils/utils.sh` calls the Python interpreter specified by
   BT_TESTS_PYTHON_BIN to get the Python version.

2. The run_python() function in `tests/utils/utils.sh` adds the
   `tests/utils/python/typing` directory to `PYTHONPATH` if the version
   of Python is 3.4.

3. Move `tests/utils/python/local_typing.py` to
   `tests/utils/python/typing/typing.py`.

4. Remove `tests/utils/python/utils.py` (not needed anymore).

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: Ifc939f617627ff11cd6a7cbf8642c7b33006d303
Reviewed-on: https://review.lttng.org/c/babeltrace/+/10915
Tested-by: jenkins <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers