Skip to content

virtualenv always switch back to embedded wheels after a recent periodic update  #2265

@mayeut

Description

@mayeut

Issue

virtualenv always switch back to embedded wheels after a recent periodic update (less than an hour).
Here, always means it does this even if a previous manual / periodic update was valid.
This can lead to outdated pip, setuptools & wheel packages in the created environment (they could have been more recent if the periodic update had not kicked-in less than an hour ago).

Environment

up-to-date main branch: 51408e6

tox -e dev

Reproducer

diff --git a/tests/unit/seed/wheels/test_bundle.py b/tests/unit/seed/wheels/test_bundle.py
index 16ea2fd..beee540 100644
--- a/tests/unit/seed/wheels/test_bundle.py
+++ b/tests/unit/seed/wheels/test_bundle.py
@@ -1,12 +1,14 @@
 from __future__ import absolute_import, unicode_literals
 
 import os
+from datetime import datetime
 
 import pytest
 
 from virtualenv.app_data import AppDataDiskFolder
 from virtualenv.seed.wheels.bundle import from_bundle
 from virtualenv.seed.wheels.embed import get_embed_wheel
+from virtualenv.seed.wheels.periodic_update import dump_datetime
 from virtualenv.seed.wheels.util import Version, Wheel
 from virtualenv.util.path import Path
 
@@ -26,9 +28,9 @@ def app_data(tmp_path_factory, for_py_version, next_pip_wheel):
     app_data_ = AppDataDiskFolder(str(temp_folder))
     app_data_.embed_update_log("pip", for_py_version).write(
         {
-            "completed": "2000-01-01T00:00:00.000000Z",
+            "completed": dump_datetime(datetime.now()),
             "periodic": True,
-            "started": "2000-01-01T00:00:00.000000Z",
+            "started": dump_datetime(datetime.now()),
             "versions": [
                 {
                     "filename": next_pip_wheel.name,

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions