Revision history for App-SimpleScan 1.11 Fri Jun 23 17:41:22 PDT 2006 - expand_backticked was changed to a method to allow it to more easily emit warnings for mismatched quotes. - mismatched quotes are now explicitly diagnosed. Formerly, there'd be a !!THISISGARBAGE!! in the output. Bad form. 1.10 Fri Jun 23 12:53:33 PDT 2006 - Unicode works! - accented character tests gone. - Non-Latin test patches welcome. 1.09 Mon Jun 19 12:07:25 PDT 2006 - Add test run status reporting to simple_report -status 1.08 Thu Jun 8 16:35:15 PDT 2006 - Fix Makefile.PL so simple_report gets installed. 1.07 Wed May 31 16:53:06 PDT 2006 - Changed simple_report to send the status messages (x% done) to STDERR 1.06 Tue May 2 15:31:41 PDT 2006 - Changed status reporting leader chars to make them easier to spot (and strip out) - removed "Running" status - that's what 'ok'/'not ok' is for 1.05 Fri Apr 28 17:00:27 PDT 2006 - added --status and tests for it 1.04 Thu Apr 27 17:17:04 PDT 2006 - fixed tests failing on Solaris (left off specific path to simple_scan - d'oh!) 1.03 Tue Apr 11 14:17:13 PDT 2006 - mysterious 08cache.t test failure solved! - began work on substitution optimization - suppressed (finally) the Text::Balanced warnings 1.02 Mon Apr 10 09:51:38 PDT 2006 - Initial upload failed; trying again 1.01 Fri Mar 31 13:06:43 PST 2006 - Changed shebang line to use /usr/bin/env (not /home/y, d'oh). 1.00 Fri Mar 17 12:25:43 PST 2006 - New interfaces deserve a full version update. - current_line method added to allow plugins to spy on the input line if they want to. - All plugins now converted to use output filters instead of hooking stack_test. - More documentation of the base simple_scan program. 0.34 Mon Mar 13 16:21:56 PST 2006 - totally reorganized variable substitution to fix nested variable substitution problems; variable substitution now returns only the unique tests generated by substituting variables - replace per_test with a more flexible filtering architecture - dependencies code still under development, so it's still possible to set up an infinite substitution loop, like %%foo %%bar To be fixed in an upcoming release. 0.33 Thu Mar 2 13:57:46 PST 2006 - expose expand_backticked method - reorganize module documentation 0.32 Wed Feb 22 15:47:10 PST 2006 - Add input queue manipulation to set up for macro-like pragmas and simpler input handling for test spec expansion - internal topological sort to resolve possible circular dependencies: %%foo this is %%bar this is - Add code to save current test spec (useful if an overridden method needs to see the current spec) 0.31 Mon Feb 13 13:02:04 PST 2006 - document that %ENV variables work in substitution pragmas 0.30 Fri Feb 10 15:32:13 PST 2006 - Change all test and code stacking in App::SimpleScan::Testspec to use stack_test and stack_code so this is consistent across core code and plugins. 0.29 Mon Feb 6 16:20:09 PST 2006 - expanded plugin documentation - expanded tests to match new docs 0.28 Mon Feb 6 12:18:21 PST 2006 - fixed missing default agent_alias 0.27 Thu Jan 26 12:49:14 PST 2006 - added simple_report to this distribution 0.26 Thu Jan 12 12:05:05 PST 2006 - added support for backticked and quoted substitutions 0.25 (unreleased) - added --no_agent command line option 0.24 (unreleased) 0.23 Tue Dec 6 17:10:59 PST 2005 - Reordered code generation so that per_test plugin code gets called every time a test is stacked - Added test plugin (t/lib/App/SimpleScan/Plugin/Test_Expand) to properly test substitution expansion - Added substitution expansion test to fix a bug that emitted per_test code only for the last test in a set that was created by substitution expansion 0.22 Mon Nov 28 11:01:37 2005 - Missing prereqs in Makefile.PL corrected 0.21 Mon Nov 21 17:14:07 2005 - Move test count initialization to prevent an uninitialized variable warning if a test is stacked by a plugin during the options processing phase. (Is that a specific enough bug or what?) 0.20 Mon Nov 21 17:03:24 2005 - Move pragma installation earlier so plugins can find pragma processors 0.19 Mon Nov 21 16:09:28 2005 - Expose the pragma() method for use by plugins 0.18 Mon Nov 21 14:25:24 2005 - Made sure that validate_options gets the App::SimpleScan object 0.17 Fri Nov 18 18:10:34 2005 - Added conditional callback to validate_options() in plugins; allows plugins to make sure that command-line option values are indeed valid. 0.16 Fri Nov 18 17:29:12 2005 - Moved plugin loading into separate private method - made stack_tests and stack_code public methods since they were being used publically anyway - aliased to _stack_code and _stack_tests until all plugins have time to catch up 0.15 Fri Nov 18 13:39:34 2005 - Changed the per_test call in App::SimpleScan::Testspec to stack the code *after* the generated test. Note that if a per_test plugin really needs to stack code before generated tests by calling _stack_code. 0.14 Fri Nov 18 11:59:58 2005 - fixed plugin code to only call pragmas() if the plugin can('pragmas'); allows development of options-only plugins 0.13 Thu Nov 17 17:52:43 2005 - added --autocache option: turn on caching at the beginning of a run 0.12 Tue Nov 8 11:28:14 2005 - More changes for accented characters. Now handles either UTF-8 or Latin-1. - Eliminated double fetch for accented character tests. 0.11 Wed Oct 26 16:15:52 2005 - Temporary fix for TODO test until I can figure out why I need to do it at the moment. 0.10 Wed Oct 26 15:29:17 2005 - Extracted execution of tests into execute() method - this will allow plugins to override the simple 'eval' with something more interesting - fix a quoting error in TY and TN tests 0.09 Wed Oct 26 14:48:27 2005 - Added --define, --override, --defer, and --debug switches - debug is pretty preliminary, but the methods are there now - can now define substitutions on the command line, and choose to have them override or defer to substitutions in input files 0.08 Wed Oct 26 11:37:45 2005 - Added _delete_substitution to support the %%forget pragma. 0.07 Tue Oct 25 14:37:00 2005 - Changed match for accented characters to .*? instead of . to make it work consistently on 5.6 0.06 Mon Oct 24 16:24:20 2005 - fixed "@accents" vs. "$accent[...}" in generated code 0.05 Mon Oct 24 15:55:58 2005 - Added a missing semicolon on the generated code for the accent extraction line. 0.04 Mon Oct 24 14:42:38 2005 - changed 8-bit-character checks; test process seems to nuke the $1, $2, etc. variables, so I can't check them back in the tests itself. Now done via an array of matched-out characters. - Systematized test counting to make sure counts were right - Tests now "use strict;" - Regex flags handled properly - _regex_render added to centralize regex fixups - Removed duplicate bottm-out test in substitution recursion - Updated tests 0.03 Wed Oct 19 12:22:18 2005 - altered test spec parsing to properly handle missing comments - added tests for this code 0.02 Wed Oct 12 13:55:39 2005 - Fixed accented character cleanup - wasn't using the cleaned-up version of the regex 0.01 Fri Sep 16 11:49:25 2005 - Initial release.