END_TEST 

START_TEST(label_generate_test)
  {
  std::vector<std::string> status;
  int             rc;
  char           *path = (char *)"../../../test/test_scripts/label_inventory.sh";
  char           *protocol = (char *)"1.0";
  
  rc = generate_alps_status(status, path, protocol);

  fail_unless(rc == 0, "Couldn't generate the status");
  fail_unless(search_dynamic_string_status(status, (char *)"regmem") == 1);
  fail_unless(search_dynamic_string_status(status, (char *)"regmem,") != 1);
  fail_unless(search_dynamic_string_status(status, (char *)"regmemregmem") != 1);
  }
END_TEST 

START_TEST(full_generate_test)
  {
  dynamic_string *status = get_dynamic_string(-1, NULL);
  int             rc;
  char           *path = (char *)"../../../test/test_scripts/get_inventory.sh";
  char           *protocol = (char *)"1.0";

  rc = generate_alps_status(status, path, protocol);

  fail_unless(rc == 0, "Couldn't generate the status");

  fail_unless(search_dynamic_string_status(status, (char *)"GPU") == 1, "Couldn't find the GPUs reported in the status");
  fail_unless(search_dynamic_string_status(status, (char *)"cheeseburger") == 1, "Couldn't find the feature cheeseburger in the status");
  }
END_TEST

START_TEST(full_generate_test)
  {
  std::vector<std::string> status;
  int             rc;
  char           *path = (char *)"../../../test/test_scripts/get_inventory.sh";
  char           *protocol = (char *)"1.0";

  rc = generate_alps_status(status, path, protocol);

  fail_unless(rc == 0, "Couldn't generate the status");

  if (rc == 0)
    fail_unless(log_event_called == 1, "log_event was not called within successful generate_alps_status()");

  fail_unless(search_dynamic_string_status(status, (char *)"GPU") > 0, "Couldn't find the GPUs reported in the status");
  fail_unless(search_dynamic_string_status(status, (char *)"cheeseburger") > 0, "Couldn't find the feature cheeseburger in the status");
  }