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