<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Testing file system operations</title>
	<atom:link href="http://www.markhneedham.com/blog/2008/09/17/testing-file-system-operations/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markhneedham.com/blog/2008/09/17/testing-file-system-operations/</link>
	<description>Thoughts on Software Development</description>
	<lastBuildDate>Sat, 11 Feb 2012 23:17:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Laurie</title>
		<link>http://www.markhneedham.com/blog/2008/09/17/testing-file-system-operations/comment-page-1/#comment-38398</link>
		<dc:creator>Laurie</dc:creator>
		<pubDate>Thu, 03 Jun 2010 06:49:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=339#comment-38398</guid>
		<description>Thanks!  This is helpful information and quite clear.</description>
		<content:encoded><![CDATA[<p>Thanks!  This is helpful information and quite clear.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bernd Eckenfels</title>
		<link>http://www.markhneedham.com/blog/2008/09/17/testing-file-system-operations/comment-page-1/#comment-345</link>
		<dc:creator>Bernd Eckenfels</dc:creator>
		<pubDate>Wed, 17 Sep 2008 18:43:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=339#comment-345</guid>
		<description>There is some testing needed in this area which is even more complicated. For example, if you close a file but forget to fdsync() it, it wont be transaction safe. If you then rename it afterwards, you could easyly get 0-size files or files filled with 0-byte chunks. All that is quite platform specific and hard to test.

One thing you can do us to use syscall tracers to find those suspicious patterns &quot;all files in conf/ must be created with temporary names and synced before renamed&quot;. Thats eighter functional testing, or special hooks in unit tests (for example AOP or own security manager). It could also be done on a shim layer, but then you havent checked the whole implementation stack.

Bernd</description>
		<content:encoded><![CDATA[<p>There is some testing needed in this area which is even more complicated. For example, if you close a file but forget to fdsync() it, it wont be transaction safe. If you then rename it afterwards, you could easyly get 0-size files or files filled with 0-byte chunks. All that is quite platform specific and hard to test.</p>
<p>One thing you can do us to use syscall tracers to find those suspicious patterns &#8220;all files in conf/ must be created with temporary names and synced before renamed&#8221;. Thats eighter functional testing, or special hooks in unit tests (for example AOP or own security manager). It could also be done on a shim layer, but then you havent checked the whole implementation stack.</p>
<p>Bernd</p>
]]></content:encoded>
	</item>
</channel>
</rss>

