41 $test_environment_variable =
'FOSSOLOGY_TESTCONFIG';
45 $fossology_testconfig = getenv($test_environment_variable);
47 if ($fossology_testconfig && strlen($fossology_testconfig) > 1) {
48 $sysconfdir = $fossology_testconfig;
55 $sysconfdir = $argv[1];
60 if (isset($sysconfdir)) {
61 if (is_readable(
"$sysconfdir/Db.conf")) {
62 print
"Found a readable '$sysconfdir/Db.conf' file\n";
65 $db_conf_contents = file_get_contents(
"$sysconfdir/Db.conf");
68 $db_match = preg_match(
'/dbname\s*\=\s*(.*?)[; ]/i', $db_conf_contents, $matches);
71 $database_name = $matches[1];
72 print
"Found database name '$database_name'\n";
75 print
"Did not find a dbname= parameter in '$sysconfdir/Db.conf'\n";
80 print
"A SYSCONFDIR was specified as '$sysconfdir' but no Db.conf file was found there!\n";
85 print
"No SYSCONFDIR was specified, so will attempt to delete all test DBs\n";
91 $postgres_params =
"dbname=template1 ";
92 $postgres_params .=
"host=localhost ";
94 $postgres_params .=
"user=fossologytest ";
95 $postgres_params .=
"password=fossologytest ";
97 $PG_CONN = pg_connect($postgres_params)
98 or die(
"FAIL: Could not connect to postgres server\n");
101 if ( empty($database_name) ) {
104 $sql =
"SELECT datname from pg_database where datname like 'fossologytest%'";
106 or die(
"FAIL: Could not query postgres database\n");
109 while ($row = pg_fetch_row($result)) {
111 echo
"Dropping test database $dbname\n";
112 $drop_sql =
"DROP DATABASE $dbname";
114 or die(
"FAIL: Could not drop database '$dbname'\n");
119 echo
"Dropping test database $database_name ONLY.\n";
120 $drop_sql =
"DROP DATABASE $database_name";
122 or die(
"FAIL: Could not drop drop database '$dbname'\n");
128 $system_temp_dir = sys_get_temp_dir();
129 $temp_dirs = glob($system_temp_dir .
'/*');
132 if (!empty($sysconfdir)) {
133 $temp_dirs = array($sysconfdir);
136 foreach ($temp_dirs as $temp_dir) {
139 if (preg_match(
'/\/fossologytest_\d{8}_\d{6}\/?$/', $temp_dir)) {
140 echo
"Deleting $temp_dir\n";
141 $escaped_temp_dir = escapeshellarg($temp_dir);
142 `rm -rf $escaped_temp_dir`;
150 if (empty($sysconfdir)) {
151 print
"Attempting to clean up old-style FOSSology test databases\n";
155 $postgres_params =
"dbname=template1 ";
156 $postgres_params .=
"host=localhost ";
157 $postgres_params .=
"user=fossy ";
158 $postgres_params .=
"password=fossy ";
160 $PG_CONN = pg_connect($postgres_params)
161 or die(
"FAIL: Could not connect to postgres server\n");
164 $sql =
"SELECT datname from pg_database where datname like 'fosstest%'";
166 or die(
"FAIL: Could not query postgres database\n");
169 while ($row = pg_fetch_row($result)) {
171 echo
"Dropping test databases $dbname\n";
172 $drop_sql =
"DROP DATABASE $dbname";
174 or die(
"FAIL: Could not drop database $dbname\n");
180 print
"Done cleaning up FOSSology test databases\n";
foreach($Options as $Option=> $OptVal) if(0==$reference_flag &&0==$nomos_flag) $PG_CONN