Coder Social home page Coder Social logo

autotest-fsevent's Introduction

Version GitHub Sponsors

autotest-fsevent

Autotest relies on filesystem polling to detect modifications in source code files. In other words: The filesytem is constantly being traversed which causes quite some load on both the CPU and the harddrive. This is not healthy for your Mac and if you are working on a portable computer, it will drain your battery.

Apple has introduced FSEvent with Mac OS X 10.5 which is a very efficient way to have the operating system monitor file alterations. This gem teaches autotest to use FSEvent and therefore be nice to your Mac.

Thank you for supporting free and open-source software by sponsoring on GitHub or on Donorbox. Any gesture is appreciated, from a single Euro for a โ˜•๏ธ cup of coffee to ๐Ÿน early retirement.

Install

This gem is cryptographically signed in order to assure it hasn't been tampered with. Unless already done, please add the author's public key as a trusted certificate now:

gem cert --add <(curl -Ls https://raw.github.com/svoop/autotest-fsevent/main/certs/svoop.pem)

In order to compile the fsevent binary at install time, Xcode (macOS development suite) must be installed. You can download it for free from:

https://developer.apple.com

You can use any ZenTest-compatible test suite with this gem such as:

Add this to your Gemfile or gems.rb:

gem autotest-fsevent, group: :development

And securely install the bundle:

bundle install --trust-policy MediumSecurity

Then add the following line after all other requires in your ~/.autotest file:

require 'autotest/fsevent'

Troubleshooting

Autotest Binary Not Present

Make sure you have either the ZenTest gem or the autotest-standalone gem installed. This dependency has been dropped as of autotest-fsevent-0.2.3 in order to allow any compatible test suite.

Compilation of fsevent_sleep Failed

Make sure you have Xcode (Mac OS X Development Suite) installed. You can download it for free from:

https://developer.apple.com

If you don't want to install Xcode, download the prebuilt fsevent_sleep binary, make the downloaded binary executable and install the gem as follows:

FSEVENT_SLEEP="/absolute/path/to/fsevent_sleep" gem install autotest-fsevent

Development

To install the development dependencies:

bundle install

Please submit issues on:

https://github.com/svoop/autotest-fsevent/issues

To contribute code, fork the project on Github, add your code and submit a pull request:

https://help.github.com/articles/fork-a-repo

License

The gem is available as open source under the terms of the MIT License.

autotest-fsevent's People

Contributors

danielberkompas avatar dskecse avatar dstarh avatar fxposter avatar jqr avatar meafmira avatar robertlowe avatar shingara avatar svoop avatar vangberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

autotest-fsevent's Issues

Warning, Method Redefined

Hi. I upgraded last night to version 0.1.2 last night and I am now received the following warning:

/opt/local/lib/ruby/gems/1.8/gems/autotest-fsevent-0.1.2/lib/autotest/fsevent.rb:35: warning: method redefined; discarding old wait_for_changes

cannot load such file -- autotest upon require

My name is Maciej Mensfeld and I run a research security project called https://diffend.io.

While that's not a security issue, wanted to bring to your attention, that upon requiring of this gem (diffend does that to run a sandbox for security assessment of gems based on their behaviors), it fails with:

Traceback (most recent call last):
	2: from -e:1:in `'
	1: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- autotest-fsevent (LoadError)
	9: from -e:1:in `'
	8: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:156:in `require'
	7: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in `rescue in require'
	6: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:168:in `require'
	5: from /home/app/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/autotest-fsevent-0.2.18/lib/autotest-fsevent.rb:4:in `'
	4: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
	3: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
	2: from /home/app/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/autotest-fsevent-0.2.18/lib/autotest/fsevent.rb:2:in `'
	1: from /home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/home/app/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- autotest (LoadError)

which (probably) indicates, that XYZ is not present upon loading.

repro:

Gemfile


source 'https://rubygems.org'

gem 'autotest-fsevent'

steps:

  1. bundle install
  2. bundle exec ruby -e 'require "autotest-fsevent"'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.