Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

92 lines (67 sloc) 2.483 kb
= Developers information
== Required software
The tests need the following software installed:
* All the usual Phusion Passenger dependencies.
* Ruby on Rails 2.0.1 (*exactly* 2.0.1)
* rspec >= 1.1.2
* mime-types >= 1.15
* daemon_controller (only for running the Nginx integration test). Install
with: gem install FooBarWidget-daemon_controller -s http://gems.github.com
The following software is optional:
* RCov, for code coverage
* RDoc, for generating HTML Ruby API documentation
* Doxygen, for generating HTML C++ API documentation
* dot (part of Graphviz), for generating diagrams in HTML API documentation
* The font "Bitstream Vera Sans", used in the class diagrams. See http://www.gnome.org/fonts
* AsciiDoc >= 8.2.5, for converting various doc/*.txt documents to HTML
== Compiling Phusion Passenger
Run the following command to compile everything:
rake
== Directory structure
The most important directories are:
[ lib/phusion_passenger ]
The source code for the spawn server, which is written in Ruby.
[ ext/phusion_passenger ]
Native extensions for Ruby, used by the spawn server.
[ ext/apache2 ]
The Phusion Passenger Apache 2 module (mod_passenger).
[ bin ]
Executables.
[ doc ]
Various documentation.
[ test ]
Unit tests and integration tests.
[ test/support ]
Support/utility code, used in the tests.
[ test/stub ]
Stub code, used in the tests.
Less important directories:
[ lib/rake ]
Rake tasks.
[ ext/boost ]
A stripped-down and customized version of the Boost C++ library
(www.boost.org).
[ ext/oxt ]
The "OS eXtensions for boosT" library, which provides various important
functionality necessary for writing robust server software. It provides
things like support for interruptable system calls and portable backtraces
for C++. Boost was modified to make use of the functionality provided by OXT.
[ benchmark ]
Benchmark tools.
[ misc ]
Miscellaneous tools.
== Tests
Run all tests:
rake
Run just the tests for the Apache 2 module:
rake test:apache2
Run just the unit tests for the Ruby spawn server:
rake test:ruby
Run just the integration tests:
rake test:integration
*Note*: some tests, such as the ones that test privilege lowering, require
root privileges. Those will only be run if Rake is run as root.
== Documentation
Various developer documents can be found in 'doc/*.html'.
The Ruby part's API reference is located in 'doc/rdoc/'.
The C++ part's API reference is located in 'doc/cxxapi/'.
Jump to Line
Something went wrong with that request. Please try again.