Skip to content

Commit

Permalink
lots of testing changes and additions
Browse files Browse the repository at this point in the history
  • Loading branch information
rcaputo committed May 29, 2000
1 parent 33828a3 commit 1db9198
Show file tree
Hide file tree
Showing 24 changed files with 1,681 additions and 276 deletions.
100 changes: 94 additions & 6 deletions Changes
Expand Up @@ -18,7 +18,6 @@ subversions are available from <http://www.newts.org/~troc/poe.html>.
|
| Next
|
| Clean up the mess made while adding Event and Tk support.
| Event doesn't seem very fast; am I using it incorrectly?
|
| Before 0.11
Expand All @@ -34,6 +33,95 @@ subversions are available from <http://www.newts.org/~troc/poe.html>.
`-----------------


0.1006 2000.??.?? (!!!)
-----------------------

Expanded t/02_alarms.t to test the big-queue binary search and insert
code. Previous tests didn't expand the alarm queue past the maximum
threshhold for linear insertion.

Macro-ized some of the redundant bits between the Tk and Event code.

Normalized the names of some functions; added leading underscores here
and there.

Added test coverage information to the README.

Added t/09_wheels_unix.t to test Wheel::ReadWrite and
Wheel::SocketFactory against UNIX domain sockets. This will fail
terribly wherever UNIX sockets aren't supported; I should skip it on
platforms where people complain about its failure.

Added t/10_wheels_tcp.t to test Wheel::ReadWrite and
Wheel::SocketFactory against INET/TCP sockets.

Added t/11_signals_poe.t to test POE's stock signal handlers. These
are Perl's own signal handlers, and all the caveats apply.

Added Exporter; TestSetup exports its functions now. TestSetup use
syntax changed, so I added &test_setup to set things up instead of
&import.

Added &ok, &not_ok and &results to buffer and report on the results of
tests that occur in indeterminate orders.

Added TestSetup functions stderr_pause() and stderr_resume() to turn
STDERR off and back on when testing code known to show diagsonstics.

Added ID resolution tests to t/03_aliases.t.

Added the kernel's ID to its ID-to-session lookup table, so that
$kernel->ID_id_to_session($kernel->ID) would return $kernel. It's
silly but complete now.

Added t/08_errors.t to test error conditions, something that the other
tests never covered.

Added lib/Devel/Trace.pm. This is a custom debugging module (used
with -d:Trace) that collects information about runnable Perl
statements and the ones actually called. It's only used for reporting
on test coverage during development and isn't installed.

Added lib/coverage.perl. This program runs t/*.t with -d:Trace to
collect coverage statistics; then it gathers up the results and writes
a report.

Added t/00_coverage.t to load every "released" module so that the test
coverage report can learn the set of all testable modules.

Philip Gwyn pointed out that waitpid() returns 0 on some platforms to
indicate outstanding child processes that haven't yet exited. I was
treating 0 as a valid PID. The waitpid() return value checks are
fixed now.

Fletch found all sorts of badness in POE::Kernel's fork() method and
related polling loop. It boiled down to bad assumptions about
$SIG{CHLD} = 'IGNORE' and a stupid use of keys() without scalar().

(!!!) Revised the Changes for 0.0906, dated 2000.02.20 to note an
interface change in Wheel::ReadWrite's put() method. This Changes
change isn't a compatibility issue, but the original change is.

POE::Preprocessor adds "# line" directives so that macro expansions
don't break line numbers in warnings and errors. Unfortunately, this
badly breaks -d modules, such as the debugger and various profilers.
So now POE::Preprocessor omits "# line" directives when -d is used.
This'll let you see everything being run, at the expense of correct
line numbers.

Added a rudimentary signals test to t/01_sessions.t, which uses POE's
own event loop.

Added a rudimentary signals test to t/07_event.t, which uses Event's
event loop.

Will not add a signals test to t/06_tk.t. Tk does not have its own
signal watchers, so this would only test POE's.

Made minor revisions to the tiny and relatively new POE::Preprocessor
documentation.


0.1005 2000.05.23
-----------------

Expand Down Expand Up @@ -348,12 +436,12 @@ removed.
Updated documentation for POE::Kernel::alarm()


0.0906 2000.02.20
-----------------
0.0906 2000.02.20 (!!!)
-----------------------

Revised Wheel::ReadWrite->put() to return true if the high watermark
is reached; false if it hasn't been. ReadWrite->put() may return true
without a corresponding high or low watermark event.
(!!!) Revised Wheel::ReadWrite->put() to return true if the high
watermark is reached; false if it hasn't been. ReadWrite->put() may
return true without a corresponding high or low watermark event.

Changed samples/watermarks.perl to use ReadWrite->put()'s return
value, as well as the high and low mark states. Commented the program
Expand Down
4 changes: 4 additions & 0 deletions MANIFEST
Expand Up @@ -64,3 +64,7 @@ t/04_selects.t
t/05_macros.t
t/06_tk.t
t/07_event.t
t/08_errors.t
t/09_wheels_unix.t
t/10_wheels_tcp.t
t/11_signals_poe.t
19 changes: 19 additions & 0 deletions README
Expand Up @@ -3,12 +3,18 @@ $Id$

The bulk of this README's information has migrated to the POE manpage.

------------------------------
Compatibility Between Versions
------------------------------

As POE moves closer towards the Common Sense axis, it sometimes
diverges away from the Backwards Compatible axis. If this version is
being installed over a previous one, please check the Changes file to
see what it might break. Interface changes usually are documented.

------------------
Basic Installation
------------------

POE may be installed through the CPAN shell in the usual CPAN shell
manner. It typically is:
Expand All @@ -20,6 +26,9 @@ It involves a little more work if you have an older CPAN shell:
perl -MCPAN -e shell
install POE

-------------------
Manual Installation
-------------------

POE can also be installed manually. The latest CPAN version can be
found at <ftp://ftp.cpan.org/pub/CPAN/authors/id/R/RC/RCAPUTO/> or in
Expand Down Expand Up @@ -48,6 +57,16 @@ Finally you can install it:

make install

-------------------------
Test Results and Coverage
-------------------------

POE's development after 0.1005 consists of a big push to test
everything. To further this effort, the author wrote a test coverage
reporting program; then he discovered Devel::Coverage. Oh well!
Anyway, here's the test coverage summary for this version:

... don't forget to put them here ...

Good luck, and thank you for reading!

Expand Down
2 changes: 1 addition & 1 deletion lib/POE.pm
Expand Up @@ -904,6 +904,7 @@ progress report:
POE::Kernel rewritten 2000.05.19
POE::Session rewritten 2000.05.21
POE::Wheel rewritten 2000.05.22
POE::Preprocessor revised 2000.05.23
POE::Component queued
POE::Component::Server::TCP queued
Expand All @@ -914,7 +915,6 @@ progress report:
POE::Filter::Line queued
POE::Filter::Reference queued
POE::Filter::Stream queued
POE::Preprocessor queued
POE::Wheel::FollowTail queued
POE::Wheel::ListenAccept queued
POE::Wheel::ReadWrite queued
Expand Down

0 comments on commit 1db9198

Please sign in to comment.