self.sub1_path = join(self.walk_path, "SUB1")
self.sub11_path = join(self.sub1_path, "SUB11")
sub2_path = join(self.walk_path, "SUB2")
- self.sub21_path = join(sub2_path, "SUB21")
++ sub21_path = join(sub2_path, "SUB21")
tmp1_path = join(self.walk_path, "tmp1")
tmp2_path = join(self.sub1_path, "tmp2")
tmp3_path = join(sub2_path, "tmp3")
- tmp5_path = join(self.sub21_path, "tmp3")
++ tmp5_path = join(sub21_path, "tmp3")
self.link_path = join(sub2_path, "link")
t2_path = join(support.TESTFN, "TEST2")
tmp4_path = join(support.TESTFN, "TEST2", "tmp4")
# Create stuff.
os.makedirs(self.sub11_path)
os.makedirs(sub2_path)
- os.makedirs(self.sub21_path)
++ os.makedirs(sub21_path)
os.makedirs(t2_path)
- for path in tmp1_path, tmp2_path, tmp3_path, tmp4_path:
+ for path in tmp1_path, tmp2_path, tmp3_path, tmp4_path, tmp5_path:
with open(path, "x") as f:
f.write("I'm " + path + " and proud of it. Blame test_os.\n")
else:
self.sub2_tree = (sub2_path, [], ["tmp3"])
- os.chmod(self.sub21_path, 0)
++ os.chmod(sub21_path, 0)
++ self.addCleanup(os.chmod, sub21_path, stat.S_IRWXU)
+
def test_walk_topdown(self):
# Walk top-down.
all = list(self.walk(self.walk_path))
- Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception
loss in PyTraceBack_Here().
+- Issue #28471: Fix "Python memory allocator called without holding the GIL"
+ crash in socket.setblocking.
+
+
+Library
+-------
+
++- Issue #28353: os.fwalk() no longer fails on broken links.
++
+- Issue #28430: Fix iterator of C implemented asyncio.Future doesn't accept
+ non-None value is passed to it.send(val).
+
+- Issue #27025: Generated names for Tkinter widgets now start by the "!" prefix
+ for readability (was "`").
+
+- Issue #25464: Fixed HList.header_exists() in tkinter.tix module by addin
+ a workaround to Tix library bug.
+
+- Issue #28488: shutil.make_archive() no longer adds entry "./" to ZIP archive.
+
+- Issue #25953: re.sub() now raises an error for invalid numerical group
+ reference in replacement template even if the pattern is not found in
+ the string. Error message for invalid group reference now includes the
+ group index and the position of the reference.
+ Based on patch by SilentGhost.
+
+- Issue #18219: Optimize csv.DictWriter for large number of columns.
+ Patch by Mariatta Wijaya.
+
+- Issue #28448: Fix C implemented asyncio.Future didn't work on Windows.
+
+- Issue #28480: Fix error building socket module when multithreading is
+ disabled.
+
+- Issue #24452: Make webbrowser support Chrome on Mac OS X.
+
+- Issue #20766: Fix references leaked by pdb in the handling of SIGINT
+ handlers.
+
+- Issue #28492: Fix how StopIteration exception is raised in _asyncio.Future.
+
+- Issue #28500: Fix asyncio to handle async gens GC from another thread.
+
+- Issue #26923: Fix asyncio.Gather to refuse being cancelled once all
+ children are done.
+ Patch by Johannes Ebke.
+
+- Issue #26796: Don't configure the number of workers for default
+ threadpool executor.
+ Initial patch by Hans Lawrenz.
+
+Build
+-----
+
+- Issue #28208: Update Windows build to use SQLite 3.14.2.0.
+
+- Issue #28248: Update Windows build to use OpenSSL 1.0.2j.
+
+Tests
+-----
+
+- Issue #26944: Fix test_posix for Android where 'id -G' is entirely wrong or
+ missing the effective gid.
+
+- Issue #28409: regrtest: fix the parser of command line arguments.
+
+
+What's New in Python 3.6.0 beta 2
+=================================
+
+*Release date: 2016-10-10*
+
+Core and Builtins
+-----------------
+
+- Issue #28183: Optimize and cleanup dict iteration.
+
+- Issue #26081: Added C implementation of asyncio.Future.
+ Original patch by Yury Selivanov.
+
- Issue #28379: Added sanity checks and tests for PyUnicode_CopyCharacters().
Patch by Xiang Zhang.