- Fixed a whole bunch of dependencies on defines between files, examples and tests
diff --git a/tests/scripts/generate_code.pl b/tests/scripts/generate_code.pl
index 0ccd495..a59fe95 100755
--- a/tests/scripts/generate_code.pl
+++ b/tests/scripts/generate_code.pl
@@ -23,18 +23,40 @@
my $test_cases = <TEST_CASES>;
close(TEST_CASES);
my ( $suite_header ) = $test_cases =~ /BEGIN_HEADER\n(.*?)\nEND_HEADER/s;
+my ( $suite_defines ) = $test_cases =~ /BEGIN_DEPENDENCIES\n(.*?)\nEND_DEPENDENCIES/s;
+
+my $requirements;
+if ($suite_defines =~ /^depends_on:/)
+{
+ ( $requirements ) = $suite_defines =~ /^depends_on:(.*)$/;
+}
+
+my @var_req_arr = split(/:/, $requirements);
+my $suite_pre_code;
+my $suite_post_code;
+
+while (@var_req_arr)
+{
+ my $req = shift @var_req_arr;
+
+ $suite_pre_code .= "#ifdef $req\n";
+ $suite_post_code .= "#endif /* $req */\n";
+}
$/ = $line_separator;
open(TEST_FILE, ">$test_file") or die "Opening destination file '$test_file': $!";
print TEST_FILE << "END";
#include "fct.h"
+
$suite_header
$test_helpers
FCT_BGN()
{
+$suite_pre_code
+
FCT_SUITE_BGN($suite_name)
{
END
@@ -67,7 +89,7 @@
my $req = shift @var_req_arr;
$pre_code .= "#ifdef $req\n";
- $post_code .= "#endif\n";
+ $post_code .= "#endif /* $req */\n";
}
my $command_line = $line;
@@ -116,8 +138,11 @@
print TEST_FILE << "END";
}
FCT_SUITE_END();
+
+$suite_post_code
}
FCT_END();
+
END
close(TEST_DATA);