Skip to content

gh-152680: Check if running in a container/VM in test.pythoninfo#152668

Merged
vstinner merged 9 commits into
python:mainfrom
vstinner:pythoninfo_in_container
Jun 30, 2026
Merged

gh-152680: Check if running in a container/VM in test.pythoninfo#152668
vstinner merged 9 commits into
python:mainfrom
vstinner:pythoninfo_in_container

Conversation

@vstinner

@vstinner vstinner commented Jun 30, 2026

Copy link
Copy Markdown
Member

@vstinner

Copy link
Copy Markdown
Member Author

Example on "Ubuntu / build and test (ubuntu-24.04)":

system.boot_id: 7eedccbd-ab3e-48f4-a3f5-eb198989311d
system.in_container: microsoft
system.machine_id: b9d4e40b90bc4dcb974f6d60e5fb946e
system.uptime: 0:02:16

system.in_container: microsoft: Microsoft Hyper-V hypervisor is detected.

Log also the "CI" and "container" environment variable.
@vstinner vstinner force-pushed the pythoninfo_in_container branch from 383367c to 8b40dff Compare June 30, 2026 11:51
@vstinner vstinner changed the title Check if running in a container in test.pythoninfo gh-152680: Check if running in a container/VM in test.pythoninfo Jun 30, 2026
vstinner added 5 commits June 30, 2026 14:23
* Fix ver command
* Fix kern.hv_vmm_present test
* Log also IMAGE_OS_VERSION env var.
* Remove debug messages
@vstinner

Copy link
Copy Markdown
Member Author

Example on macOS / build and test (macos-26):

system.hardware: VirtualMac2,1
system.uptime: 0:05:19
system.virt: run in a VM (kern.hv_vmm_present is 1)

Virtualization is now detected and the hardware model is also logged.

@vstinner vstinner marked this pull request as ready for review June 30, 2026 13:54
@vstinner vstinner added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jun 30, 2026
@bedevere-bot

Copy link
Copy Markdown

🤖 New build scheduled with the buildbot fleet by @vstinner for commit a49567e 🤖

Results will be shown at:

https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F152668%2Fmerge

If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jun 30, 2026
@vstinner

Copy link
Copy Markdown
Member Author

Tests / Windows (free-threading) / Build and test (arm64, switch-case) (pull_request): Failing after 25m

test_rollover_at_midnight() failed: see #84649 (comment)

FAIL: test_rollover_at_midnight (test.test_logging.TimedRotatingFileHandlerTest.test_rollover_at_midnight)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\a\cpython\cpython\Lib\test\test_logging.py", line 6749, in test_rollover_at_midnight
    self.assertIn(f'testing2 {i}', line)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 'testing2 0' not found in '2026-06-30 14:20:24,102 testing1 0\n'

@vstinner

vstinner commented Jun 30, 2026

Copy link
Copy Markdown
Member Author

system.virt:

  • AMD64 Alpine Linux PR: system.virt: podman
  • AMD64 CentOS9 NoGIL Refleaks PR: system.virt: amazon
  • AMD64 Debian root PR: system.virt: oracle
  • AMD64 RHEL8 FIPS Only Blake2 Builtin Hash PR: system.virt: kvm
  • s390x RHEL8 LTO + PGO PR: system.virt: zvm
  • WASM Emscripten PR: system.virt: amazon
  • wasm32-wasi PR: system.virt: podman
  • x86 Debian Non-Debug with X PR: system.virt: xen
  • aarch64 RHEL8 LTO + PGO PR: system.virt: kvm

macOS:

  • ARM64 macOS PR: system.hardware: Macmini9,1
  • x86-64 MacOS Intel ASAN NoGIL PR: system.hardware: Macmini8,1

Examples of buildbot workers without system.virt:

  • ARM Raspbian PR
  • ARM64 Raspbian Debug PR
  • iOS ARM64 Simulator PR
  • aarch64 Android PR

@vstinner vstinner enabled auto-merge (squash) June 30, 2026 14:40
@vstinner vstinner disabled auto-merge June 30, 2026 14:43
@vstinner vstinner enabled auto-merge (squash) June 30, 2026 14:46
@vstinner vstinner merged commit f1c5363 into python:main Jun 30, 2026
48 checks passed
@vstinner vstinner deleted the pythoninfo_in_container branch June 30, 2026 15:11
@vstinner vstinner added needs backport to 3.13 bugs and security fixes needs backport to 3.14 bugs and security fixes needs backport to 3.15 pre-release feature fixes, bugs and security fixes labels Jun 30, 2026
@miss-islington-app

Copy link
Copy Markdown

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13.
🐍🍒⛏🤖

@miss-islington-app

Copy link
Copy Markdown

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.15.
🐍🍒⛏🤖 I'm not a witch! I'm not a witch!

@miss-islington-app

Copy link
Copy Markdown

Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.14.
🐍🍒⛏🤖

@bedevere-app

bedevere-app Bot commented Jun 30, 2026

Copy link
Copy Markdown

GH-152698 is a backport of this pull request to the 3.13 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.13 bugs and security fixes label Jun 30, 2026
@bedevere-app

bedevere-app Bot commented Jun 30, 2026

Copy link
Copy Markdown

GH-152699 is a backport of this pull request to the 3.15 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.15 pre-release feature fixes, bugs and security fixes label Jun 30, 2026
@bedevere-app

bedevere-app Bot commented Jun 30, 2026

Copy link
Copy Markdown

GH-152700 is a backport of this pull request to the 3.14 branch.

@bedevere-app bedevere-app Bot removed the needs backport to 3.14 bugs and security fixes label Jun 30, 2026
vstinner added a commit that referenced this pull request Jun 30, 2026
…152698)

gh-152680: Detect container/VM in test.pythoninfo (GH-152668)

On Apple, log the hardware model as "system.hardware".

* Log the "CI", "IMAGE_OS_VERSION" and "container"
  environment variables.
* Add run_command() and first_line() functions.
(cherry picked from commit f1c5363)

Co-authored-by: Victor Stinner <vstinner@python.org>
vstinner added a commit that referenced this pull request Jun 30, 2026
…152700)

gh-152680: Detect container/VM in test.pythoninfo (GH-152668)

On Apple, log the hardware model as "system.hardware".

* Log the "CI", "IMAGE_OS_VERSION" and "container"
  environment variables.
* Add run_command() and first_line() functions.
(cherry picked from commit f1c5363)

Co-authored-by: Victor Stinner <vstinner@python.org>
vstinner added a commit that referenced this pull request Jun 30, 2026
…152699)

gh-152680: Detect container/VM in test.pythoninfo (GH-152668)

On Apple, log the hardware model as "system.hardware".

* Log the "CI", "IMAGE_OS_VERSION" and "container"
  environment variables.
* Add run_command() and first_line() functions.
(cherry picked from commit f1c5363)

Co-authored-by: Victor Stinner <vstinner@python.org>
maurycy added a commit to maurycy/cpython that referenced this pull request Jul 1, 2026
* main: (266 commits)
  pythongh-151626: Fix tests that fail when PYTHONPYCACHEPREFIX is set (pythonGH-151952)
  pythongh-152728: IDLE - move 3 toplevel fix_xyz functions to idlelb.util (python#152729)
  pythongh-152711: Add pythoninfo-build command to Platforms/Android (python#152713)
  pythongh-152715: Add pythoninfo-build command to Platforms/Apple (python#152716)
  pythongh-152433: Windows: enable mmapmodule for UWP (python#152473)
  pythongh-152433: Windows: use GetFileSizeEx instead of GetFileSize for memory mapped files (python#152383)
  pythonGH-81881: Raise `SpecialFileError` for sockets and devices in `shutil.copyfile` (python#142693)
  pythongh-152502: Detect the curses mouse interface and is_* methods portably (pythonGH-152705)
  pythongh-145857: Replace `DELETE_GLOBAL` with `PUSH_NULL; STORE_GLOBAL` (pythonGH-146314)
  pythongh-145854: Replace `DELETE_NAME` with `PUSH_NULL; STORE_NAME` (pythonGH-146006)
  pythongh-152680: Detect container/VM in test.pythoninfo (python#152668)
  pythongh-152682: Fix NULL dereference on OOM in `symtable_visit_type_param_bound_or_default` (python#152684)
  pythongh-151881: Skip tk_inactive negativity check on Windows (pythonGH-152683)
  pythongh-152546: Refactor `mappingproxy.__new__` to use `PyDictProxy_New` (python#152547)
  pythongh-151126: Fix a possible crash during the startup with no memory under `Py_STACKREF_DEBUG` (python#152478)
  pythongh-152635: Raise MemoryError when the lock allocation fails in `_interpchannels.create()` (python#152642)
  pythongh-151029: Fix `test_remote_exec_deleted_static_executable` on static installed builds (pythonGH-152653)
  pythongh-121249: Deprecate using F/D type codes in the struct module (python#152309)
  pythongh-152192: Fix JUMP_BACKWARD passing a truncated oparg to the jit tracer (pythonGH-152382)
  Don't require the `_test{internal}capi` modules in `test_monitoring.py` (python#152311)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants