Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

spex

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spex

  • 0.7.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Spex

A quick and dirty harness for running system state checks before and after an executable is run.

It can be used:

  • When developing an executable/configuration, to check real-world results.
  • In production, to ensure the system is in a known state before an executable is run.
  • In production, to provide independent logging/reporting of executable status.

Synopsis

Spex is a simple language used to define scenarios that model the correct behavior of an executable.

The description file consists of exactly one command line and any number of scenario definitions; for example, the following file can be used to verify running touch /tmp/foo will create a new file:

scenario "Creates a file" do
  executing 'touch /tmp/foo' do
    check '/tmp/foo', :created => true
  end
end

If this was in run_touch.rb, you could run this with spex:

$ spex run_touch.rb

You'll notice that this should pass the first time and fail on subsequent invocations -- because the check added by :created => true fails in the event a file exists before the command is run.

If you want to see what command and scenarios are defined in a file, use spex info, eg:

$ spex --describe run_touch.rb

Usage help

See the commandline help documentation:

$ spex --help

Examples

See the examples/ directory.

Checks

You can see the checks that are available with the following command:

$ spex --checks

To add an check, create a class that inherits from Spex::Check and implements all the neccessary methods. See Spex::Check and the currently defined checks for examples.

Note: If you put your checks in ~/.spex/checks/*.rb, they'll automatically be loaded. If you create any interesting checks, add them to the wiki!

Other Resources

For more information, see the wiki.

You can file bugs and features using the issue tracker.

Copyright (c) 2010 Bruce Williams. See LICENSE for details.

FAQs

Package last updated on 23 Apr 2010

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc