<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Duplo &#187; autotest</title>
	<atom:link href="http://kill-0.com/duplo/tag/autotest/feed/" rel="self" type="application/rss+xml" />
	<link>http://kill-0.com/duplo</link>
	<description>Building Blocks &#38; Learning Experiences</description>
	<lastBuildDate>Fri, 05 Aug 2011 15:30:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>autotest-inotify: extend autotest to use inotify</title>
		<link>http://kill-0.com/duplo/2010/02/11/autotest-inotify-extend-autotest-to-use-inotify/</link>
		<comments>http://kill-0.com/duplo/2010/02/11/autotest-inotify-extend-autotest-to-use-inotify/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 22:35:22 +0000</pubDate>
		<dc:creator>ericw</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[autotest]]></category>
		<category><![CDATA[inotify]]></category>

		<guid isPermaLink="false">http://kill-0.com/duplo/?p=102</guid>
		<description><![CDATA[Autotest-inotify is a gem that extends autotest to use Linux&#8217;s inotify to monitor changes to your source and test files, running the appropriate tests as files are modified. By default, autotest implements filesystem polling to detect these changes. This can use a significant amount of CPU cycles1, and can impact battery life in laptops. Through [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/ewollesen/autotest-inotify">Autotest-inotify</a> is a gem that extends <a href="http://www.zenspider.com/ZSS/Products/ZenTest/">autotest</a> to use Linux&#8217;s <a href="http://en.wikipedia.org/wiki/Inotify">inotify</a> to monitor changes to your source and test files, running the appropriate tests as files are modified.</p>
<p>By default, autotest implements filesystem polling to detect these changes.  This can use a significant amount of CPU cycles<sup><a href="http://kill-0.com/duplo/2010/02/11/autotest-inotify-extend-autotest-to-use-inotify/#footnote_0_102" id="identifier_0_102" class="footnote-link footnote-identifier-link" title="On one of my machines, ~25% of a single core&amp;#8217;s cycles were spent polling the filesystem">1</a></sup>, and can impact battery life in laptops.</p>
<p>Through Linux&#8217;s inotify, autotest-inotify inserts callbacks into the underlying filesystem, which allows the filesystem to notify us when files we&#8217;re interested in have been modified.  This allows autotest to sleep until inotify indicates a change has been made to one our files of interest, i.e. we don&#8217;t have to constantly poll the filesystem.</p>
<p>This work was inspired by <a href="http://www.bitcetera.com/en/techblog/2009/05/27/mac-friendly-autotest/">Sven Schwyn&#8217;s work</a> on autotest-fsevent, which extends autotest to use Mac OS X&#8217;s <a href="http://en.wikipedia.org/wiki/FSEvents">FSEvents</a> system, as well as <a href="http://blog.tryphon.org/alban/archives/2007/10/26/inotify-support-for-autotest/">Alban Peignier&#8217;s work</a> using the INotify gem.  Where autotest-inotify differs from Schwyn&#8217;s work, is that autotest-inotify can be used in Linux, whereas autotest-fsevent uses FSEvent, which is Mac OS X specific.  Autotest-inotify differs from Peignier&#8217;s work in that it offers a simpler gem-based installation, and it is less obtrusive to autotest&#8217;s methods for determining which files to watch for changes.</p>
<p>Source code for the autotest-inotify gem can be found at <a href="http://github.com/ewollesen/autotest-inotify">http://github.com/ewollesen/autotest-inotify</a>.  It is licensed under the MIT license.  See the <a href="http://github.com/ewollesen/autotest-inotify/blob/master/README.rdoc">README</a> for installation instructions.</p>
<ol class="footnotes"><li id="footnote_0_102" class="footnote">On one of my machines, ~25% of a single core&#8217;s cycles were spent polling the filesystem</li></ol>]]></content:encoded>
			<wfw:commentRss>http://kill-0.com/duplo/2010/02/11/autotest-inotify-extend-autotest-to-use-inotify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

