From 83dd52c209cf2bbe38fc8dfaf5dd2356882a4b0c Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Wed, 24 Nov 2010 02:26:15 -0800 Subject: [PATCH] Targets created from stdout should be rw-, not rwx. I had forgotten to pass the create mode to open(). Oops! --- builder.py | 2 +- t/.gitignore | 1 + t/clean.do | 2 +- t/mode1.do | 1 + t/modetest.do | 5 +++++ t/test.do | 4 +--- 6 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 t/mode1.do create mode 100644 t/modetest.do diff --git a/builder.py b/builder.py index bb5cadc..5c8b4ea 100644 --- a/builder.py +++ b/builder.py @@ -76,7 +76,7 @@ class BuildJob: return self._after2(1) state.stamp(dofile) unlink(tmpname) - ffd = os.open(tmpname, os.O_CREAT|os.O_RDWR|os.O_EXCL) + ffd = os.open(tmpname, os.O_CREAT|os.O_RDWR|os.O_EXCL, 0666) close_on_exec(ffd, True) self.f = os.fdopen(ffd, 'w+') # this will run in the dofile's directory, so use only basenames here diff --git a/t/.gitignore b/t/.gitignore index 5d5e603..608d5f9 100644 --- a/t/.gitignore +++ b/t/.gitignore @@ -7,3 +7,4 @@ d test.args test2.args /passfail +mode1 diff --git a/t/clean.do b/t/clean.do index 890b88c..20f1ef3 100644 --- a/t/clean.do +++ b/t/clean.do @@ -1,4 +1,4 @@ redo example/clean curse/clean deps/clean "space dir/clean" -rm -f c c.c c.c.c c.c.c.b c.c.c.b.b d +rm -f c c.c c.c.c c.c.c.b c.c.c.b.b d mode1 rm -f hello [by]ellow *.o *~ .*~ CC LD passfail diff --git a/t/mode1.do b/t/mode1.do new file mode 100644 index 0000000..2f08be9 --- /dev/null +++ b/t/mode1.do @@ -0,0 +1 @@ +echo hello diff --git a/t/modetest.do b/t/modetest.do new file mode 100644 index 0000000..a436baf --- /dev/null +++ b/t/modetest.do @@ -0,0 +1,5 @@ +umask 0022 +redo mode1 +MODE="$(ls -l mode1 | cut -d' ' -f1)" +[ "$MODE" = "-rw-r--r--" ] || exit 78 + diff --git a/t/test.do b/t/test.do index ec45825..9b94af4 100644 --- a/t/test.do +++ b/t/test.do @@ -1,6 +1,4 @@ redo-ifchange all ./hello >&2 redo deltest deltest2 test.args test2.args passfailtest \ - curse/test deps/test "space dir/test" - - + curse/test deps/test "space dir/test" modetest