Commit Graph

31 Commits

Author SHA1 Message Date
Miss Islington (bot) 6e7fe19016
[3.10] bpo-31904: Correct error string in test_file_not_exists() for VxWorks (GH-25965) (GH-25983)
The error string on VxWorks is "no such file or directory" for FileNotFoundError. That is, the 1st letter of the error string has lower case.
(cherry picked from commit b063b02eab)


Co-authored-by: pxinwr <peixing.xin@windriver.com>

Automerge-Triggered-By: GH:gpshead
2021-05-08 02:09:29 -07:00
Hai Shi 598a951844
bpo-40275: Use new test.support helper submodules in tests (GH-21764) 2020-08-07 17:18:38 +02:00
Gregory Schevchenko daff39070e
bpo-38731: Add --quiet option to py_compile CLI (GH-17134) 2020-07-25 22:58:45 +03:00
Hai Shi deb016224c
bpo-40275: Use new test.support helper submodules in tests (GH-21317) 2020-07-06 14:29:49 +02:00
Hai Shi 883bc63833
bpo-40275: Use new test.support helper submodules in tests (GH-21314) 2020-07-06 11:12:49 +02:00
Steve Dower a76ba362c4
bpo-39041: Add GitHub Actions support (GH-17594) 2019-12-16 10:35:22 -08:00
Joannah Nanjekye 2e33ecd7c9 bpo-22640: Add silent mode to py_compile.compile() (GH-12976) 2019-05-28 19:29:04 +03:00
Elvis Pranskevichus a6b3ec5b6d bpo-34022: Stop forcing of hash-based invalidation with SOURCE_DATE_EPOCH (GH-9607)
Unconditional forcing of ``CHECKED_HASH`` invalidation was introduced in
3.7.0 in bpo-29708.  The change is bad, as it unconditionally overrides
*invalidation_mode*, even if it was passed as an explicit argument to
``py_compile.compile()`` or ``compileall``.  An environment variable
should *never* override an explicit argument to a library function.
That change leads to multiple test failures if the ``SOURCE_DATE_EPOCH``
environment variable is set.

This changes ``py_compile.compile()`` to only look at
``SOURCE_DATE_EPOCH`` if no explicit *invalidation_mode* was specified.
I also made various relevant tests run with explicit control over the
value of ``SOURCE_DATE_EPOCH``.

While looking at this, I noticed that ``zipimport`` does not work
with hash-based .pycs _at all_, though I left the fixes for
subsequent commits.
2018-10-10 18:43:14 +02:00
Bernhard M. Wiedemann ccbe5818af bpo-29708: Setting SOURCE_DATE_EPOCH forces hash-based .pyc files (GH-5200)
To support reproducible builds, the setting of of SOURCE_DATE_EPOCH triggers the py_compile module -- and by extension, compileall -- to forcibly compile with hash-based .pyc files. This eliminates the possibility of timestamp-based .pyc files which vary between builds.
2018-01-24 13:26:18 -08:00
Benjamin Peterson 42aa93b8ff
closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575)
Python now supports checking bytecode cache up-to-dateness with a hash of the
source contents rather than volatile source metadata. See the PEP for details.

While a fairly straightforward idea, quite a lot of code had to be modified due
to the pervasiveness of pyc implementation details in the codebase. Changes in
this commit include:

- The core changes to importlib to understand how to read, validate, and
  regenerate hash-based pycs.

- Support for generating hash-based pycs in py_compile and compileall.

- Modifications to our siphash implementation to support passing a custom
  key. We then expose it to importlib through _imp.

- Updates to all places in the interpreter, standard library, and tests that
  manually generate or parse pyc files to grok the new format.

- Support in the interpreter command line code for long options like
  --check-hash-based-pycs.

- Tests and documentation for all of the above.
2017-12-09 10:26:52 -08:00
Serhiy Storchaka 5fbadb63ef Use support.change_cwd() in tests. 2015-09-06 14:14:49 +03:00
Serhiy Storchaka 2a23adf440 Use support.change_cwd() in tests. 2015-09-06 14:13:25 +03:00
Brett Cannon 9d2a01fb2b Issue #23822: Fix test_py_compile to not fail under -O. 2015-04-13 16:28:11 -04:00
Brett Cannon f299abdafa Issue #23731: Implement PEP 488.
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Barry Warsaw eb2763dd43 Fix the test to use an os.sep agnostic test. Hopefully this will fix the
Windows buildbots.  Found by Jeremy Kloth.
2014-12-02 11:30:43 -05:00
Barry Warsaw 9d98c9bf42 Make this change a little more robust for up-merging. 2014-12-01 18:15:26 -05:00
Barry Warsaw 2a413853f1 - Issue #22966: Fix __pycache__ pyc file name clobber when pyc_compile is
asked to compile a source file containing multiple dots in the source file
  name.
2014-12-01 17:10:10 -05:00
Berker Peksag a42ad6bf84 Remove unused imports. 2014-09-01 12:33:12 +03:00
Berker Peksag a7614d08bf Issue #19447: Suppress output of py_compile.compile(). 2014-09-01 12:29:53 +03:00
Berker Peksag 0242f79051 Issue #19447: Use importlib.util.cache_from_source() instead of ``bad_coding + 'c'``.
Thanks to Arfrever Frehtes Taifersar Arahesis.
2014-08-22 20:52:15 +03:00
Berker Peksag 31f8a677a4 Issue #19447: Add a test case to py_compile.compile() to make sure
it don't raise an exception if doraise is False.

Patch by Bohuslav "Slavek" Kabrda.
2014-08-22 20:17:32 +03:00
Christian Heimes 349b04e902 Issue 19384: Fix test_py_compile for root user, patch by Claudiu Popa. 2013-10-25 09:21:51 +02:00
Brett Cannon df960682a5 Issue #17177: Stop using imp with py_compile 2013-06-15 14:07:21 -04:00
Brett Cannon 0b16b0d3f0 make test more robust under Windows 2013-06-14 22:50:57 -04:00
Brett Cannon 33915eba7c Issue #17222: Raise FileExistsError when py_compile.compile would
overwrite a symlink or non-regular file with a regular file.
2013-06-14 18:33:00 -04:00
Brett Cannon 51460cc490 Issue #17244: Windows doesn't let you set permissions on directories. 2013-04-24 16:34:07 -04:00
Brett Cannon 255fb3e9f3 add a newline 2013-04-14 12:51:36 -04:00
Brett Cannon edfd6ae79c Issue #17244: Don't mask exceptions raised during the creation of
bytecode files in py_compile.

Thanks to Arfrever Frehtes Taifersar Arahesis for the bug report.
2013-04-14 12:48:15 -04:00
Meador Inge 22b9b37915 Issue #12618: py_compile cannot create files in current directory
Initial patch by Sjoerd de Vries.
2011-11-28 09:27:32 -06:00
Meador Inge fb36b3f6a0 Issue #12618: fix py_compile unit tests to handle different drives on Windows 2011-11-26 11:37:02 -06:00
Meador Inge 6f16660ca7 Issue #12618: create unit tests for the py_compile module 2011-11-25 23:36:48 -06:00