Handle random PYTHONHASHSEED values.

Voluptions does a depth first in order traversal of the data structures
it is checking and fails fast. This means it will die when it hits the
first error and return only that error. The test_layouts test is
checking that different bad layout files fail in unique ways. This check
breaks when the python hashseed is random resulting in different depth
first traversals which can result in returning the same error twice if
bad layout files have common errors.

Fix this by trimming down the errors in each layout file to a single
error this way the order of the errors hit never matters.

Fix a string typo in test_layouts while we are in there.

Change-Id: Ie7587ebac4d22063a6819c68011f7fb67a49fcc0
diff --git a/tests/fixtures/layouts/bad_pipelines1.yaml b/tests/fixtures/layouts/bad_pipelines1.yaml
index 4207a2c..da90933 100644
--- a/tests/fixtures/layouts/bad_pipelines1.yaml
+++ b/tests/fixtures/layouts/bad_pipelines1.yaml
@@ -1,4 +1,2 @@
 pipelines:
 
-projects:
-  - name: foo
diff --git a/tests/fixtures/layouts/bad_template3.yaml b/tests/fixtures/layouts/bad_template3.yaml
index 70412b8..54697c4 100644
--- a/tests/fixtures/layouts/bad_template3.yaml
+++ b/tests/fixtures/layouts/bad_template3.yaml
@@ -1,8 +1,5 @@
 # Template refers to an unexisting pipeline
 
-pipelines:
-  # We have no pipelines at all
-
 project-templates:
   - name: template-generic
     unexisting-pipeline:  # pipeline does not exist
diff --git a/tests/test_layoutvalidator.py b/tests/test_layoutvalidator.py
index 7e9f1d5..5a8fc46 100644
--- a/tests/test_layoutvalidator.py
+++ b/tests/test_layoutvalidator.py
@@ -57,7 +57,7 @@
                     error = str(e)
                     print '  ', error
                     if error in errors:
-                        raise Exception("Error has already beed tested: %s" %
+                        raise Exception("Error has already been tested: %s" %
                                         error)
                     else:
                         errors.append(error)