Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Rspecdebugging

Rspecdebugging

RSpec Debugging

RSpec Debugging

rspecs can become very complicated. Below we provide a few tools and tips for making sure your rspec is correct.

rspeclint

In order to help you debug your rspec, we provide a tool called rspeclint which can verify your xml against the core rspec schema and any number of extension schemas.

rspeclint is available at http://www.protogeni.net/resources/rspeclint

It is a perl script and relies on the LibXML Perl module from CPAN.

Run it from the command line like so:

rspeclint [<namespace> <schema>]+ <document>

rspeclint first takes a list of namespace/schema pairs. The tags in each namespace are verified against their associated schema. Any namespace/schema pairs in the schemaLocation tag inside of the XML will also be used. If there is an inconsistency between the pairs in the document and those specified in the command line, this will be flagged as an error. The document is your rspec which should be verified. Both the document and the schemas can be either URLs or file names.

Example:

rspeclint http://www.protogeni.net/resources/rspec/2 http://www.protogeni.net/resources/rspec/2/request.xsd my-request.xml

This verifies the file 'my-request.xml' against the core rspec request schema.

Interfaces

A common problem is specifying interfaces. In RSpec version 2, all interface names must be globally unique. Make sure that you do not have interfaces in different nodes with the same names. Each interface should normally be attached to a single link.

Tarballs and Command Lines

If you have trouble debugging your startup commands, see ServicesFaq