comparison scripts/image/imread.m @ 16967:52c1b832d98e

imread: make sure test file is removed if imread() errors. * imread.m: file removal is made before the test so it occurs even if test fails. However, if imread() errors, file was never removed. Fixed with use of unwind_protect block. Also, use tmpnam() to choose filename instead of current working directory.
author Carnë Draug <carandraug@octave.org>
date Fri, 12 Jul 2013 18:06:20 +0100
parents fb940d48c6f7
children 997efb8d0b19
comparison
equal deleted inserted replaced
16966:269e96910ae9 16967:52c1b832d98e
91 %! 73, 68, 65, 84, 24, 87, 99, 96, 96, 96, ... 91 %! 73, 68, 65, 84, 24, 87, 99, 96, 96, 96, ...
92 %! 248, 255, 255, 63, 144, 4, 81, 111, 101, 84, ... 92 %! 248, 255, 255, 63, 144, 4, 81, 111, 101, 84, ...
93 %! 16, 28, 160, 16, 0, 197, 214, 13, 34, 74, ... 93 %! 16, 28, 160, 16, 0, 197, 214, 13, 34, 74, ...
94 %! 117, 213, 17, 0, 0, 0, 0, 73, 69, 78, ... 94 %! 117, 213, 17, 0, 0, 0, 0, 73, 69, 78, ...
95 %! 68, 174, 66, 96, 130]; 95 %! 68, 174, 66, 96, 130];
96 %! fid = fopen ("test.png", "wb"); 96 %! filename = [tmpnam() ".png"];
97 %! fwrite (fid, vpng); 97 %! unwind_protect
98 %! fclose (fid); 98 %! fid = fopen (filename, "wb");
99 %! A = imread ("test.png"); 99 %! fwrite (fid, vpng);
100 %! delete ("test.png"); 100 %! fclose (fid);
101 %! A = imread (filename);
102 %! unwind_protect_cleanup
103 %! unlink (filename);
104 %! end_unwind_protect
101 %! assert (A(:,:,1), uint8 ([0, 255, 0; 255, 237, 255; 0, 255, 0])); 105 %! assert (A(:,:,1), uint8 ([0, 255, 0; 255, 237, 255; 0, 255, 0]));
102 %! assert (A(:,:,2), uint8 ([0, 255, 0; 255, 28, 255; 0, 255, 0])); 106 %! assert (A(:,:,2), uint8 ([0, 255, 0; 255, 28, 255; 0, 255, 0]));
103 %! assert (A(:,:,3), uint8 ([0, 255, 0; 255, 36, 255; 0, 255, 0])); 107 %! assert (A(:,:,3), uint8 ([0, 255, 0; 255, 36, 255; 0, 255, 0]));
104 108