Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Sun, 18 Dec 2011 08:53:53 -0600
From: "jfoug" <>
To: <>
Subject: JtR Test Suite, v1.10 released

I have re-written (from scratch), the test suite.  It is no longer in korn
scripts. It has been written in Perl.


It can be found on the community wiki page  in the bottom section.  It is 2 tar
balls, and a patch of the Makefile.  It is designed to be placed as a
sibling directory to the ./src and ./run directories in a normal JtR
installation, and it has make rules within the Makefile which allow it to be
run as  'make test'  or 'make test_full'.  To install it, download the 3
files, un-tar the first 2, with your current directory set to the base JtR
directory.  Then run 'patch -p1 <
JtRTestSuite_1.08-to-1.10-makefile-update.diff' to patch the ./src/Makefile
which will allow the make rules to work.


This version adds a lot of intelligence to the test suite. It uses the JtR
build, to determine if it is a 'core' JtR build (i.e. 1.7.9), or if it is a
jumbo JtR build.  Also, it auto detects all known formats which JtR 'should'
be able to handle, and will never try to test something that JtR does not
list as being able to run.  It also detects which encoding formats JtR is
capable of handling, and will not test encodings JtR cannot handle.


There is a 'quiet' command line option (-quiet, or simply -q), and a 'very'
quiet options (two of them, or -q -q).  This will cut down on screen output
(the scrolling), UNLESS there are errors, (of course assuming your screen is
wide enough for the output).    There is also a verbose switch (opposite of
quiet). This starts outputting debugging information.  -v outputs 'some', -v
-v is very verbose, to the point where the test is very hard to follow.  It
is mostly for debugging the script, but does show some of the work going on
behind the scene.


JtRTestSuite, can now filter out just what you want to have run on it.  You
can filter down to a single format, or a set of several, or test all
encodings, or run a 'full' test (test all formats, even the 'slow' ones, and
tests all encodings).    The default running (if no types are chosen),
should be a pretty valid test, for an end user.  It is pretty fast (3 to 5
minutes), and tests a decent majority of the formats.  NOTE, that crypt(3)
md5, BF, mscash2, etc will not be tested in the jumbo build.   The default
running for a 'core' john, is to run a 'full' test.  Since there are so few
formats, they are ALL tested.


Some decent ways to use it are:


make test   or make test_full   (right in the build process). -q          A good 'quiet' check -q full     Tests the world, but in a screen friendly way. enc         Tests all encodings. dynamic     Tests all dynamic formats lm          Tests only the LM format lm des phps Tests only these 3 formats format


This version of the test suite, has only been tested on JtR 1.7.9 +   It may
have problems running against older versions of JtR.  It has been tested on
Cygwin, Linux and Solaris, and should run without requiring any CPAN
installs.  The only usages are strict and GetOpt::Long, which I believe are
default installed on all Perl I have come across.






Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.