Revision history for App-SimpleScan
1.20 Wed Aug 23 13:58:31 PDT 2006
- worked out the funky kinks in nested substitutions by a major
simplification of the substitution logic.
- dependency logic now *only* worries about keeping loops out of
dependencies; substitution handles all the discovery and resolution
of dependent variables.
- removed several methods that are no longer needed (in particular,
_all_dependencies)
1.19 Fri Aug 18 15:34:55 PDT 2006
- Support for variable substitutions inside variables themselves;
allows variable names to be constructed dynamically.
1.18 Thu Aug 17 13:37:48 PDT 2006
- *Always* give us the syntax warning when we have a bad input line.
1.17 Wed Aug 9 12:37:35 PDT 2006
- Fixed subtle bug in expand_backticked: if the characters 'tr'
(unquoted) appeared in a variable definition, expand_backticked
parsed this as beginning a tr/.../. Threw out Text::Balanced and
used a pattern from Friedl to do the job instead. Bonus: speed gain!
- Made simple_scan always stack a failing test if it encountered
a bad line.
- (Finally!) Complete overhaul of dependencies to use Graph.pm, thereby
making it easy to streamline the substitution calculations for cases
where you have many variables, but are only substituting in one or
two. The new code eliminates checks on the variables you don't care
about, radically speeding up this case.
1.16 Fri Jul 28 11:15:06 PDT 2006
- Add input hook support for include-style plugins
- move init() call for plugins to _load_plugins. init()
was called only if the plugin installed pragmas, which
is non-intuitive.
- Reorder operations in new() so that the object is filled in
as much as possible before loading and initializing plugins.
1.15 Wed Jul 19 16:24:42 PDT 2006
- reorder the creation of the test boilerplate to avoid
ordering errors with the new Include plugin
1.14 Mon Jul 17 16:56:52 PDT 2006
- changes to conform to Perl::Critic recommendations
1.13 Wed Jul 12 11:52:33 PDT 2006
- contributed fix: allow non-http URLs to be tested
(from bbking@checkfree.com)
- Clarified App::SimpleScan docs: this is not useful to
read if you want to run simple_scan; only useful if
you're subclassing this class (or writing your own app)
- Addded PLUGINS section to simple_scan doc.
1.12 Wed Jul 5 12:40:18 PDT 2006
- fixed pattern interpolation into the comment section of
the generated code so Perl wouldn't complain about bad
character escapes in the string.
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. Not right.
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>
%%bar <foo>
<foo>
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>
%%bar this is <foo>
- 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.