..::[ The Bitcoin Foundation: V Quick Start ]::.. Doc Version: 99999 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, ~/.seals AND !!!! patches DIRECTORIES. 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]: 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-20151025.tar.gz \ -o cukes-V-20151025.tar.gz gpg --keyserver pool.sks-keyservers.net \ --recv-keys 0x027A8D7C0FB8A16643720F40721705A8B71EADAF gpg --verify cukes-V-20151025.tar.gz.mod6.sig cukes-V-20151025.tar.gz tar -xf cukes-V-20151025.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-20151025.tar.gz \ -o cukes-V-20151025.tar.gz gpg --keyserver pool.sks-keyservers.net \ --recv-keys 0x027A8D7C0FB8A16643720F40721705A8B71EADAF gpg --verify cukes-V-20151025.tar.gz.mod6.sig cukes-V-20151025.tar.gz tar -xf cukes-V-20151025.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-20151025.tar.gz # Set this line as necessary to your own environment. # Finally, run the following command pherkin v.feature