      ..::[ The Bitcoin Foundation: V Quick Start ]::..

 Doc Version: 99995 K
      Author: mod6
 Fingerprint: 0x027A8D7C0FB8A16643720F40721705A8B71EADAF

0x00]: Introduction

  Welcome to testing V!

  This document is intended for the advanced user who wants to use the included
  Cucumber tests to funcionally test mod6's perl version of V.  This will get
  you up and running.

  First, A bit about Cucumber; Cucumber consists of to main parts: The test
  scenarios which reside in a .feature file.  The V feature file is called
  `v.feaure'.  (If viewing with Vi/ViM, use `:set nowrap' to make viewing a bit
  easier as some data tables span 80 columns.)  And the other main part is
  step definitions.  This is the code behind each of the Gherkin (denoted steps
  with 'Given|When|And|Then' phases in the scenarios contained within the
  feature file.  Here, the step definitions are written with Perl.  The step
  definitions are contained in the file `v_steps.pl'.

  To execute these Cucumber test scenarios, we need to setup our environment
  to do so, this document will help you get up and running.

             xxxxxxx
        x xxxxxxxxxxxxx x
     x     xxxxxxxxxxx     x
            xxxxxxxxx
  x          xxxxxxx          x
              xxxxx
 x             xxx             x
                x
xxxxxxxxxxxxxxx   xxxxxxxxxxxxxxx
 xxxxxxxxxxxxx     xxxxxxxxxxxxx
  xxxxxxxxxxx       xxxxxxxxxxx
   xxxxxxxxx         xxxxxxxxx
     xxxxxx           xxxxxx
       xxx             xxx
           x         x
                x

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!! ALERT:
!!!! BE ADVISED THAT THESE TESTS WILL EXERCISE V ON A GIVEN ENVIRONMENT AND
!!!! DURING THIS TESTING PROCESS WILL INTERACT WITH DEFAULT .wot (IN THE CURRENT
!!!! WORKING DIRECTORY), .seals (IN THE CURRENT WORKING DIRECTORY), AND patches
!!!! DIRECTORIES (IN THE CURRENT WORKING DIRECTORY). UPON COMPLETION OF THIS
!!!! TEST BATTERY A LAST SCENARIO WILL BE EXECUTED TO DELETE ALL OF THE USED OR
!!!! IMPACTED DIRECTORIES, INCLUDING, BUT NOT LIMITED TO THE DEFAULT
!!!! DIRECTORIES:  .wot, .seals AND patches AND THEIR CONTENTS.
!!!!
!!!! IF YOU HAVE UNSAVED OR WORK OR WORK NOT BACKED-UP LAYING AROUND FROM
!!!! THIS OR ANOTHER VERSION OF V, TAKE STEPS TO BACK IT UP BEFORE YOU PROCEED!!
!!!! OR BETTER YET, RUN THIS IN AN ISOLATED ENVIRONMENT ALL BY ITSELF WHERE
!!!! NOTHING CAN BE IMPACTED!  OR DO NOT RUN THIS AT ALL!
!!!!
!!!! YOU HAVE BEEN ADVISED.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

0x01]: Setup Requirements for V

  Please review the v_quick_start.txt or the v_users_manual.txt for requirements
  of running V in your environment.

0x02]: Cucumber/Pherkin Setup Steps for Ubuntu & Gentoo

  Ubuntu setup commands:

  sudo apt-get install -y cpanminus
  cpanm -i App::pherkin
  cpanm -i Log::Log4perl
  sudo apt-get install -y libtest-bdd-cucumber-perl gnupg sharutils curl
  curl -s http://thebitcoin.foundation/misc/cukes-V-20160220.tar.gz \
  -o cukes-V-20160220.tar.gz
  gpg --keyserver pool.sks-keyservers.net \
  --recv-keys 0x027A8D7C0FB8A16643720F40721705A8B71EADAF
  gpg --verify cukes-V-20160220.tar.gz.mod6.sig cukes-V-20160220.tar.gz
  tar -xf cukes-V-20160220.tar.gz

  # There is only one line in the v.feature file to edit, line 6:
  # Then I set the path to V as "/home/mod6"
  # This line above defines where you extracted the cukes-V-v100000.tar.gz
  # Set this line as necessary to your own environment.

  # Finally, run the following command
  perhkin v.feature

  ############################################################################
  Gentoo:

  # Run these commands as root (uid 0)
  emerge g-cpan

# Add the following 6 lines to: /etc/portage/package.accept_keywords
# required by perl-gcpan/JSON-MaybeXS-1.003005::x-g-cpan
# required by JSON-MaybeXS (argument)
=dev-perl/Test-Without-Module-0.180.0 ~amd64
# required by perl-gcpan/Cpanel-JSON-XS-3.0115::x-g-cpan
# required by Cpanel-JSON-XS (argument)
=dev-perl/common-sense-3.730.0 ~amd64

  g-cpan -i App::pherkin
  g-cpan -i Log::Log4perl
  emerge net-misc/curl
  emerge sharutils
  emerge =gnupg-1.4.19

  # Run these commands as non-root user
  curl -s http://thebitcoin.foundation/misc/cukes-V-20160220.tar.gz \
  -o cukes-V-20160220.tar.gz
  gpg --keyserver pool.sks-keyservers.net \
  --recv-keys 0x027A8D7C0FB8A16643720F40721705A8B71EADAF
  gpg --verify cukes-V-20160220.tar.gz.mod6.sig cukes-V-20160220.tar.gz
  tar -xf cukes-V-20160220.tar.gz

  # Create a '.wot' directory in the current working directory and place the
  # necessary and appropriately named public keys in there.

  # There is only one line in the v.feature file to edit, line 6:
  # Then I set the path to V as "/home/mod6"
  # This line above defines where you extracted the cukes-V-20160220.tar.gz
  # Set this line as necessary to your own environment.

  # Finally, run the following command
  pherkin v.feature
