# rc-run
**Repository Path**: jfiewo/rc-run
## Basic Information
- **Project Name**: rc-run
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Artistic-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-07-06
- **Last Updated**: 2025-07-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Updated: 2021-11-05T19:49:59
INSTALLATION:
It is recommended to git clone this repository into a local directory:
git clone https://github.com/thundergnat/rc-run.git
Then run the RC-run.p6 script from within the cloned directory.
Alternately, all you need is the RC-run.p6 script and the rc/resources directory
and contents (in the same folder as the script) if you don't have git installed.
ABOUT:
Bells and whistles task implementation for
http://rosettacode.org/wiki/Rosetta_Code/Run_examples
Adjust the %resources hash to customize handling of the various tasks. By
default is set up to be an fairly hands-off smoke tester. Will attempt to
download all of the Perl 6 code for tasks that claim to have a Perl 6 example,
extracts blocks of code within ... markup, then runs each
block. The resources hash is configured to skip tasks with no code and fragment
code blocks: blocks that will not compile or run because of missing features
(mostly fragments of example code). It will skip blocks that require heavy user
interaction (Probably will be adjustable with a parameter in the future), and
limits very long or infinite running code to 15 CPU seconds or less.
Now displays each block of code it is trying to run before it tries to run it.
Added some color to the various outputs to make it easier to discern what it is
displaying.
There is a configurable hash <%l> to set up to run for other languages. It
should be pretty self-evident what each parameter is for.
USAGE:
There are several command line switches.
RC-run.p6 [--lang=] [--skip=] [-f|--force] [-o}--override] [-l|--local]
[-r|--remote] [-q|--quiet] [-d|--deps] [-p|--pause] [-b|--broken] []
--lang (Default perl6) Same as in markup on site
--skip Skip (Int) number of tasks. Only meaningful if run from a file or web.
Useful to restart a long run partially into a list of tasks.
--force (-f) will force running of tasks that would normally be skipped due to a
skip parameter in the %resource hash. Does nothing unless the %resource hash
has been loaded.
--override (-o) override any time outs that will artificially end a task before
it has finished. Be cautious, many tasks run forever, or must be manually
halted. With -o active, they will run until you CTRL^C out of them, which will
also halt RC-run.
--local (-l) will try to use only local copies of already downloaded tasks.
--remote (-r) will always try to download fresh copies of tasks.
--quiet (-q) A little less verbose. Does not dump source code to screen.
--deps (-d) Try to install dependencies if they are not.
--pause (-p) Pause after every task.
--broken (-b) Pause after every task that is broken, either is marked as broken
in the resource hash, or which fails and sets $!. (Not all failures are a
problem. Several tasks fail by design to show failures and errors.)
--overide (-o)
[] optional positional task name or file name (containing list of tasks)
If not supplied, will download list of implemented tasks from site and
use that as its list of tasks. The downloaded list is saved as:
.tasks; E.G. perl6.tasks for perl6.
By default, if neither --local nor --remote are set, will update task list if
more than 24 hours old and will download tasks if they are not locally cached or
are more than 7 days old (since the last time they were downloaded.
The perl6-modules.txt file contains all of the modules used to run every Perl 6
task on Rosetta Code. To save time, it may be desirable to install them before
trying to do a full smoker run, especially since several won't install without
forcing. The modules file is updated automatically when run with a -deps option.
Run at a command line:
perl6 RC-run.p6
to try every implemented task. Or;
perl6 RC-run.p6 -l
to only use locally cached task files. Or,
perl6 RC-run.p6 -r
to force downloading of tasks from the site. Or feed it a task name to try only
that task: (Replace spaces with underscores, or enclose in quotes)
perl6 RC-run.p6 Lucky_and_even_lucky_numbers
Or, pass in a file containing a list of tasks (one per line) and whatever other
combination of parameters desired to try only that list of tasks.
Parameters may be in any order but must be separate.
perl6 RC-run.p6 -l -f Anagrams
is valid.
perl6 RC-run.p6 -lf Anagrams
is not.
When you pass in a task name to run it does a "fuzzy search" when an exact
matching task name isn't found. It scales somewhat to the length of the entered
title. Very short titles may fuzzy match multiple tasks. If the supplied title
is contained wholly within a task title, that result is returned preferentially.
perl6 RC-run.p6 code
will return a list of possible fuzzy search matches:
###########################################################################
Whoops, can't find page: http://rosettacode.org/mw/code :check spelling.
Did you perhaps mean:
Base64 decode data
Base64 encode data
Character codes
Code segment unload
Fork
Gray code
Morse code
RSA code
Roman numerals/Decode
Roman numerals/Encode
Rosetta Code/Count examples
Rosetta Code/Find bare lang tags
Rosetta Code/Find unimplemented tasks
Rosetta Code/Fix code tags
Rosetta Code/List authors of task descriptions
Rosetta Code/Rank languages by number of users
Rosetta Code/Rank languages by popularity
Rosetta Code/Run examples
Rosetta Code/Tasks without examples
Sparkline in unicode
Strip control codes and extended characters from a string
Terminal control/Unicode output
UTF-8 encode and decode
Unicode strings
Unicode variable names
###########################################################################
AUTHOR:
Stephen Schulze (often seen lurking on perlmonks.org and #perl6 IRC as
thundergnat)
LICENSE
Licensed under The Artistic 2.0; see LICENSE.