commit | 81683b27d2360357db6c75c7bb9015f4123bd7ae | [log] [tgz] |
---|---|---|
author | Devin Jeanpierre <jeanpierreda@google.com> | Mon Aug 31 11:16:40 2020 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Aug 31 11:17:04 2020 -0700 |
tree | 79a46cdc44e02e86794eadfd06abe15fc121457f | |
parent | 86c52a9e27818dcc7dde74a4a9a09dc940ed911a [diff] |
*Really* ignore errors in `_rmtree_ignore_errors`. I encountered this in a Windows-specific `OSError` because I made the file to be deleted unwritable, and I guess in Unix you can delete unwritable files, but not Windows. Unfortunately, Windows isn't really a supported platform AIUI, so-- the test will go un-exercised unless I can reproduce on unixy OSes somehow. It turns out that on Unix, too, a file can be made un-deletable, but it's far more obscure -- the directory needs to be missing the write bit. (And to hit the right branch, where absltest thinks it's a file, it must still have the execute bit.) Of course, the file *should* be deletable, and this is a bug in my test, which should ideally clean up after itself properly. But it says "ignore_errors" right there! NOTE: this was not actually tested on windows, although the same circumstance should be replicated. YMMV. (I'm kind of wondering right now if the test itself is cross-platform, or if that `os.chmod(dirname, IEXEC)` will throw.) PiperOrigin-RevId: 329339802 Change-Id: Ib1ec36d754c34a5a10520b8b105269e3c4681fd6
This repository is a collection of Python library code for building Python applications. The code is collected from Google's own Python code base, and has been extensively tested and used in production.
To install the package, simply run:
pip install absl-py
Or install from source:
python setup.py install
To run Abseil tests, you can clone the git repo and run bazel:
git clone https://github.com/abseil/abseil-py.git cd abseil-py bazel test absl/...
Please refer to smoke_tests/sample_app.py as an example to get started.
See the Abseil Python Developer Guide.
The current repository includes an initial set of libraries for early adoption. More components and interoperability with Abseil C++ Common Libraries will come in future releases.
The Abseil Python library is licensed under the terms of the Apache license. See LICENSE for more information.