|
From: Bart V. <bar...@zo...> - 2006-02-07 22:00:02
|
Hello everyone,
I get a lot of emails and questions on irc from people who want to help
coding on eAccelerator but they only know php. Now we need you're help.
I've been thinking on this system for quite some time but I lacked the
time to implement it. I've written it down in this email and I hope some
people are interested in developing this test system for eAccelerator.
Description
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
eAccelerator needs a system that enables us to check if the
caching/encoding works for a particular php version. This also allows
us to do regression testing for each release. It would also be a
great help for development.
Requirements
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
- It should be possible to import the php tests included with the php
source distribution
- Because we target quite some different php version these tests should
be versioned in some sort of sets
- These sets should be available online and automaticly downloaded by
the test script. To save bandwith on the client and on the server
hosting the tests only updated or new tests in a set should be
downloaded.
- The test suite should be ran from the commandline. Because
eAccelerator doesn't work on the commandline the tests should be
executed on the webserver.
- Caching AND encoding should be tested.
- Because we don't need to test if the language functions correctly we
don't need to define the required output for a test to pass. This is
a serious advantage over the php tests because it requires a lot less
time to write tests.
- The test program should run on all platform that php support and
require no extra depencies so it's pretty obvious this program is
written in php. This scripts must run on php 4 to 5.1
- It should only use pear libraries that are distributed with the php
source.
- Generation of a report of the tests. This report should include
detailed information about the php version, eAccelerator version.
Also provide information about the environment (like os, build
system, ...)
- Test with and without optimizer
- Create sets of tests. A set can contain tests and other sets. A set
should contain information about the php and the eA versions it's
intended to run on. An example:
A set with OO-tests
A set for PHP51 test which also contains the OO test set
- Being able to run a specified test, this is especcialy useful for
development.
Nice features
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
- Some sort of speed information to see what the speed increase is.
Information
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
To know if a test is successful we need to know what the output is
without eAccelerator enabled. This should be the output when a script
is ran for the first time. At this moment the script is cached so the
next request is cached one. By comparing the output we know if a test
was successful.
We need to check with and without the optimizer. This means we need
to remove the script from cache. This can be done by touching the
scripts so eAccelerator will reload it.
If you are interested in working on this please let us know, this would
be a great help. We really need this system to release php 5.1 support.
gr,
Bart
--=20
Bart Vanbrabant <bar...@zo...>
PGP fingerprint: 093C BB84 17F6 3AA6 6D5E FC4F 84E1 FED1 E426 64D1
|