Merge lp:~sinzui/juju-release-tools/rename-move into lp:juju-release-tools

Proposed by Curtis Hovey
Status: Rejected
Rejected by: Curtis Hovey
Proposed branch: lp:~sinzui/juju-release-tools/rename-move
Merge into: lp:juju-release-tools
Diff against target: 47 lines (+4/-4)
3 files modified
build_package.py (+1/-1)
generate_agents.py (+2/-2)
tests/test_build_package.py (+1/-1)
To merge this branch: bzr merge lp:~sinzui/juju-release-tools/rename-move
Reviewer Review Type Date Requested Status
Juju Release Engineering Pending
Review via email: mp+298057@code.launchpad.net

Description of the change

use shutil.move instead of os.rename

I saw several unit test failures when I ran the tests across mounted devices. This could be a problem for package building and streams which I often move to a separate device. I have always moved a common set of dirs to the extra device, which might explain why we haven't seen this issue. Since we don't always have sane file systems, switched to shutil.move.

To post a comment you must log in.

Unmerged revisions

312. By Curtis Hovey

shutil.move is safer than os.rename.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'build_package.py'
2--- build_package.py 2016-05-20 14:42:31 +0000
3+++ build_package.py 2016-06-21 18:29:51 +0000
4@@ -468,7 +468,7 @@
5 daily_tarfile_name = tarfile_name.replace(version, daily_version)
6 tarfile_dir = os.path.dirname(tarfile_path)
7 daily_tarfile_path = os.path.join(tarfile_dir, daily_tarfile_name)
8- os.rename(tarfile_name, daily_tarfile_name)
9+ shutil.move(tarfile_name, daily_tarfile_name)
10 tarfile_path = daily_tarfile_path
11 tarfile_name = daily_tarfile_name
12 version = daily_version
13
14=== modified file 'generate_agents.py'
15--- generate_agents.py 2016-06-17 21:06:59 +0000
16+++ generate_agents.py 2016-06-21 18:29:51 +0000
17@@ -173,7 +173,7 @@
18 writer.write_stanzas()
19 agent_path = os.path.join(dest_debs, writer.path)
20 move_create_parent(target, agent_path)
21- os.rename(writer.filename, os.path.join(dest_debs, writer.filename))
22+ shutil.move(writer.filename, os.path.join(dest_debs, writer.filename))
23
24
25 def make_centos_agent(dest_debs, agent_stream, release):
26@@ -184,7 +184,7 @@
27 writer.write_stanzas()
28 agent_path = os.path.join(dest_debs, writer.path)
29 shutil.copy2(tarfile, agent_path)
30- os.rename(writer.filename, os.path.join(dest_debs, writer.filename))
31+ shutil.move(writer.filename, os.path.join(dest_debs, writer.filename))
32
33
34 def main():
35
36=== modified file 'tests/test_build_package.py'
37--- tests/test_build_package.py 2016-05-20 14:42:31 +0000
38+++ tests/test_build_package.py 2016-06-21 18:29:51 +0000
39@@ -428,7 +428,7 @@
40 return_value='./spb_path')
41 @autopatch('build_package.setup_local',
42 side_effect=['./spb_dir', './precise_dir', './trusty_dir'])
43- @autopatch('build_package.os.rename', return_value=True)
44+ @autopatch('build_package.shutil.move', return_value=True)
45 def test_build_source_test(self, os_mock, sl_mock, spb_mock, csp_mock):
46 return_code = build_source(
47 './my_1.2.3.tar.gz', './workspace', ['precise', 'trusty'], ['987'],

Subscribers

People subscribed via source and target branches