`cat ../svn-commit.2.tmp `
diff --git a/tests/scripts/generate_code.pl b/tests/scripts/generate_code.pl
index f712395..0ccd495 100755
--- a/tests/scripts/generate_code.pl
+++ b/tests/scripts/generate_code.pl
@@ -43,13 +43,36 @@
 {
     my $description = $line;
     $line = <TEST_DATA>;
-    my $command_line = $line;
-    $line = <TEST_DATA>;
 
     my $test_name = $description;
     $test_name =~ tr/A-Z \-/a-z__/;
     $test_name =~ tr/a-z0-9_//cd;
 
+    # Carve the defines required for this test case
+    my $requirements;
+    if ($line =~ /^depends_on:/)
+    {
+        my $depends_on_line = $line;
+        $line = <TEST_DATA>;
+
+        ( $requirements ) = $depends_on_line =~ /^depends_on:(.*)$/;
+    }
+    
+    my @var_req_arr = split(/:/, $requirements);
+    my $pre_code;
+    my $post_code;
+
+    while (@var_req_arr)
+    {
+        my $req = shift @var_req_arr;
+
+        $pre_code .= "#ifdef $req\n";
+        $post_code .= "#endif\n";
+    }
+
+    my $command_line = $line;
+    $line = <TEST_DATA>;
+
     # Carve the case name and variable values
     #
     my ( $case, $var_value ) = $command_line =~ /^([\w_]+):(.*)$/;
@@ -82,10 +105,11 @@
 
 
     print TEST_FILE << "END";
+$pre_code
         FCT_TEST_BGN($test_name)
 $case_code
         FCT_TEST_END();
-
+$post_code
 END
 }