* Types...
*/
-typedef enum _cups_transfer_e /**** How to send request data ****/
+typedef enum ipptool_transfer_e /**** How to send request data ****/
{
- _CUPS_TRANSFER_AUTO, /* Chunk for files, length for static */
- _CUPS_TRANSFER_CHUNKED, /* Chunk always */
- _CUPS_TRANSFER_LENGTH /* Length always */
-} _cups_transfer_t;
+ IPPTOOL_TRANSFER_AUTO, /* Chunk for files, length for static */
+ IPPTOOL_TRANSFER_CHUNKED, /* Chunk always */
+ IPPTOOL_TRANSFER_LENGTH /* Length always */
+} ipptool_transfer_t;
-typedef enum _cups_output_e /**** Output mode ****/
+typedef enum ipptool_output_e /**** Output mode ****/
{
- _CUPS_OUTPUT_QUIET, /* No output */
- _CUPS_OUTPUT_TEST, /* Traditional CUPS test output */
- _CUPS_OUTPUT_PLIST, /* XML plist test output */
- _CUPS_OUTPUT_IPPSERVER, /* ippserver attribute file output */
- _CUPS_OUTPUT_LIST, /* Tabular list output */
- _CUPS_OUTPUT_CSV /* Comma-separated values output */
-} _cups_output_t;
-
-typedef enum _cups_with_e /**** WITH flags ****/
+ IPPTOOL_OUTPUT_QUIET, /* No output */
+ IPPTOOL_OUTPUT_TEST, /* Traditional CUPS test output */
+ IPPTOOL_OUTPUT_PLIST, /* XML plist test output */
+ IPPTOOL_OUTPUT_IPPSERVER, /* ippserver attribute file output */
+ IPPTOOL_OUTPUT_LIST, /* Tabular list output */
+ IPPTOOL_OUTPUT_CSV /* Comma-separated values output */
+} ipptool_output_t;
+
+typedef enum ipptool_with_e /**** WITH flags ****/
{
- _CUPS_WITH_LITERAL = 0, /* Match string is a literal value */
- _CUPS_WITH_ALL = 1, /* Must match all values */
- _CUPS_WITH_REGEX = 2, /* Match string is a regular expression */
- _CUPS_WITH_HOSTNAME = 4, /* Match string is a URI hostname */
- _CUPS_WITH_RESOURCE = 8, /* Match string is a URI resource */
- _CUPS_WITH_SCHEME = 16 /* Match string is a URI scheme */
-} _cups_with_t;
-
-typedef struct _cups_expect_s /**** Expected attribute info ****/
+ IPPTOOL_WITH_LITERAL = 0, /* Match string is a literal value */
+ IPPTOOL_WITH_ALL = 1, /* Must match all values */
+ IPPTOOL_WITH_REGEX = 2, /* Match string is a regular expression */
+ IPPTOOL_WITH_HOSTNAME = 4, /* Match string is a URI hostname */
+ IPPTOOL_WITH_RESOURCE = 8, /* Match string is a URI resource */
+ IPPTOOL_WITH_SCHEME = 16 /* Match string is a URI scheme */
+} ipptool_with_t;
+
+typedef struct ipptool_expect_s /**** Expected attribute info ****/
{
int optional, /* Optional attribute? */
not_expect, /* Don't expect attribute? */
with_flags, /* WITH flags */
count; /* Expected count if > 0 */
ipp_tag_t in_group; /* IN-GROUP value */
-} _cups_expect_t;
+} ipptool_expect_t;
-typedef struct _cups_status_s /**** Status info ****/
+typedef struct ipptool_status_s /**** Status info ****/
{
ipp_status_t status; /* Expected status code */
char *if_defined, /* Only if variable is defined */
int repeat_limit, /* Maximum number of times to repeat */
repeat_match, /* Repeat the test when it does not match */
repeat_no_match; /* Repeat the test when it matches */
-} _cups_status_t;
+} ipptool_status_t;
-typedef struct _cups_testdata_s /**** Test Data ****/
+typedef struct ipptool_test_s /**** Test Data ****/
{
/* Global Options */
http_encryption_t encryption; /* Encryption for connection */
int family; /* Address family */
- _cups_output_t output; /* Output mode */
+ ipptool_output_t output; /* Output mode */
int stop_after_include_error;
/* Stop after include errors? */
double timeout; /* Timeout for connection */
/* Test Defaults */
int def_ignore_errors; /* Default IGNORE-ERRORS value */
- _cups_transfer_t def_transfer; /* Default TRANSFER value */
+ ipptool_transfer_t def_transfer; /* Default TRANSFER value */
int def_version; /* Default IPP version */
/* Global State */
int num_displayed; /* Number of displayed attributes */
char *displayed[200]; /* Displayed attributes */
int num_expects; /* Number of expected attributes */
- _cups_expect_t expects[200], /* Expected attributes */
+ ipptool_expect_t expects[200], /* Expected attributes */
*expect, /* Current expected attribute */
*last_expect; /* Last EXPECT (for predicates) */
char file[1024], /* Data filename */
char resource[512]; /* Resource for request */
int skip_test, /* Skip this test? */
num_statuses; /* Number of valid status codes */
- _cups_status_t statuses[100], /* Valid status codes */
+ ipptool_status_t statuses[100], /* Valid status codes */
*last_status; /* Last STATUS (for predicates) */
char test_id[1024]; /* Test identifier */
- _cups_transfer_t transfer; /* To chunk or not to chunk */
+ ipptool_transfer_t transfer; /* To chunk or not to chunk */
int version; /* IPP version number to use */
-} _cups_testdata_t;
+} ipptool_test_t;
/*
static void add_stringf(cups_array_t *a, const char *s, ...) _CUPS_FORMAT(2, 3);
static int compare_uris(const char *a, const char *b);
static void copy_hex_string(char *buffer, unsigned char *data, int datalen, size_t bufsize);
-static int do_test(_ipp_file_t *f, _ipp_vars_t *vars, _cups_testdata_t *data);
-static int do_tests(const char *testfile, _ipp_vars_t *vars, _cups_testdata_t *data);
-static int error_cb(_ipp_file_t *f, _cups_testdata_t *data, const char *error);
-static int expect_matches(_cups_expect_t *expect, ipp_tag_t value_tag);
+static int do_test(_ipp_file_t *f, _ipp_vars_t *vars, ipptool_test_t *data);
+static int do_tests(const char *testfile, _ipp_vars_t *vars, ipptool_test_t *data);
+static int error_cb(_ipp_file_t *f, ipptool_test_t *data, const char *error);
+static int expect_matches(ipptool_expect_t *expect, ipp_tag_t value_tag);
static char *get_filename(const char *testfile, char *dst, const char *src, size_t dstsize);
static const char *get_string(ipp_attribute_t *attr, int element, int flags, char *buffer, size_t bufsize);
-static void init_data(_cups_testdata_t *data);
+static void init_data(ipptool_test_t *data);
static char *iso_date(const ipp_uchar_t *date);
static void pause_message(const char *message);
-static void print_attr(cups_file_t *outfile, _cups_output_t output, ipp_attribute_t *attr, ipp_tag_t *group);
-static void print_csv(_cups_testdata_t *data, ipp_t *ipp, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
-static void print_fatal_error(_cups_testdata_t *data, const char *s, ...) _CUPS_FORMAT(2, 3);
-static void print_ippserver_attr(_cups_testdata_t *data, ipp_attribute_t *attr, int indent);
-static void print_ippserver_string(_cups_testdata_t *data, const char *s, size_t len);
-static void print_line(_cups_testdata_t *data, ipp_t *ipp, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
-static void print_xml_header(_cups_testdata_t *data);
+static void print_attr(cups_file_t *outfile, ipptool_output_t output, ipp_attribute_t *attr, ipp_tag_t *group);
+static void print_csv(ipptool_test_t *data, ipp_t *ipp, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
+static void print_fatal_error(ipptool_test_t *data, const char *s, ...) _CUPS_FORMAT(2, 3);
+static void print_ippserver_attr(ipptool_test_t *data, ipp_attribute_t *attr, int indent);
+static void print_ippserver_string(ipptool_test_t *data, const char *s, size_t len);
+static void print_line(ipptool_test_t *data, ipp_t *ipp, ipp_attribute_t *attr, int num_displayed, char **displayed, size_t *widths);
+static void print_xml_header(ipptool_test_t *data);
static void print_xml_string(cups_file_t *outfile, const char *element, const char *s);
-static void print_xml_trailer(_cups_testdata_t *data, int success, const char *message);
+static void print_xml_trailer(ipptool_test_t *data, int success, const char *message);
#ifndef _WIN32
static void sigterm_handler(int sig);
#endif /* _WIN32 */
static int timeout_cb(http_t *http, void *user_data);
-static int token_cb(_ipp_file_t *f, _ipp_vars_t *vars, _cups_testdata_t *data, const char *token);
+static int token_cb(_ipp_file_t *f, _ipp_vars_t *vars, ipptool_test_t *data, const char *token);
static void usage(void) _CUPS_NORETURN;
static const char *with_flags_string(int flags);
-static int with_value(_cups_testdata_t *data, cups_array_t *errors, char *value, int flags, ipp_attribute_t *attr, char *matchbuf, size_t matchlen);
+static int with_value(ipptool_test_t *data, cups_array_t *errors, char *value, int flags, ipp_attribute_t *attr, char *matchbuf, size_t matchlen);
static int with_value_from(cups_array_t *errors, ipp_attribute_t *fromattr, ipp_attribute_t *attr, char *matchbuf, size_t matchlen);
*testfile; /* Test file to use */
int interval, /* Test interval in microseconds */
repeat; /* Repeat count */
- _cups_testdata_t data; /* Test data */
+ ipptool_test_t data; /* Test data */
_ipp_vars_t vars; /* Variables */
_cups_globals_t *cg = _cupsGlobals();
/* Global data */
exit(1);
}
- data.output = _CUPS_OUTPUT_IPPSERVER;
+ data.output = IPPTOOL_OUTPUT_IPPSERVER;
}
else if (!strcmp(argv[i], "--stop-after-include-error"))
{
#endif /* AF_INET6 */
case 'C' : /* Enable HTTP chunking */
- data.def_transfer = _CUPS_TRANSFER_CHUNKED;
+ data.def_transfer = IPPTOOL_TRANSFER_CHUNKED;
break;
case 'E' : /* Encrypt with TLS */
break;
case 'L' : /* Disable HTTP chunking */
- data.def_transfer = _CUPS_TRANSFER_LENGTH;
+ data.def_transfer = IPPTOOL_TRANSFER_LENGTH;
break;
case 'P' : /* Output to plist file */
exit(1);
}
- data.output = _CUPS_OUTPUT_PLIST;
+ data.output = IPPTOOL_OUTPUT_PLIST;
if (interval || repeat)
{
#ifdef HAVE_TLS
data.encryption = HTTP_ENCRYPT_ALWAYS;
#else
- _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."),
- argv[0]);
+ _cupsLangPrintf(stderr, _("%s: Sorry, no encryption support."), "ipptool");
#endif /* HAVE_TLS */
break;
if (i >= argc)
{
- _cupsLangPrintf(stderr,
- _("%s: Missing timeout for \"-T\"."),
- "ipptool");
+ _cupsLangPrintf(stderr, _("%s: Missing timeout for \"-T\"."), "ipptool");
usage();
}
if (i >= argc)
{
- _cupsLangPrintf(stderr,
- _("%s: Missing version for \"-V\"."),
- "ipptool");
+ _cupsLangPrintf(stderr, _("%s: Missing version for \"-V\"."), "ipptool");
usage();
}
break;
case 'X' : /* Produce XML output */
- data.output = _CUPS_OUTPUT_PLIST;
+ data.output = IPPTOOL_OUTPUT_PLIST;
if (interval || repeat)
{
break;
case 'c' : /* CSV output */
- data.output = _CUPS_OUTPUT_CSV;
+ data.output = IPPTOOL_OUTPUT_CSV;
break;
case 'd' : /* Define a variable */
if (i >= argc)
{
- _cupsLangPuts(stderr,
- _("ipptool: Missing name=value for \"-d\"."));
+ _cupsLangPuts(stderr, _("ipptool: Missing name=value for \"-d\"."));
usage();
}
if (i >= argc)
{
- _cupsLangPuts(stderr,
- _("ipptool: Missing filename for \"-f\"."));
+ _cupsLangPuts(stderr, _("ipptool: Missing filename for \"-f\"."));
usage();
}
}
}
- if ((data.output == _CUPS_OUTPUT_PLIST || data.output == _CUPS_OUTPUT_IPPSERVER) && interval)
+ if ((data.output == IPPTOOL_OUTPUT_PLIST || data.output == IPPTOOL_OUTPUT_IPPSERVER) && interval)
{
_cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are incompatible with \"--ippserver\", \"-P\", and \"-X\"."));
usage();
break;
case 'l' : /* List as a table */
- data.output = _CUPS_OUTPUT_LIST;
+ data.output = IPPTOOL_OUTPUT_LIST;
break;
case 'n' : /* Repeat count */
else
repeat = atoi(argv[i]);
- if ((data.output == _CUPS_OUTPUT_PLIST || data.output == _CUPS_OUTPUT_IPPSERVER) && repeat)
+ if ((data.output == IPPTOOL_OUTPUT_PLIST || data.output == IPPTOOL_OUTPUT_IPPSERVER) && repeat)
{
_cupsLangPuts(stderr, _("ipptool: \"-i\" and \"-n\" are incompatible with \"--ippserver\", \"-P\", and \"-X\"."));
usage();
break;
case 'q' : /* Be quiet */
- data.output = _CUPS_OUTPUT_QUIET;
+ data.output = IPPTOOL_OUTPUT_QUIET;
break;
case 't' : /* CUPS test output */
- data.output = _CUPS_OUTPUT_TEST;
+ data.output = IPPTOOL_OUTPUT_TEST;
break;
case 'v' : /* Be verbose */
* Loop if the interval is set...
*/
- if (data.output == _CUPS_OUTPUT_PLIST)
+ if (data.output == IPPTOOL_OUTPUT_PLIST)
print_xml_trailer(&data, !status, NULL);
else if (interval > 0 && repeat > 0)
{
}
}
- if ((data.output == _CUPS_OUTPUT_TEST || (data.output == _CUPS_OUTPUT_PLIST && data.outfile)) && data.test_count > 1)
+ if ((data.output == IPPTOOL_OUTPUT_TEST || (data.output == IPPTOOL_OUTPUT_PLIST && data.outfile)) && data.test_count > 1)
{
/*
* Show a summary report if there were multiple tests...
static int /* O - 1 on success, 0 on failure */
do_test(_ipp_file_t *f, /* I - IPP data file */
_ipp_vars_t *vars, /* I - IPP variables */
- _cups_testdata_t *data) /* I - Test data */
+ ipptool_test_t *data) /* I - Test data */
{
int i, /* Looping var */
status_ok, /* Did we get a matching status? */
repeat_count = 0, /* Repeat count */
repeat_test; /* Repeat the test? */
- _cups_expect_t *expect; /* Current expected attribute */
+ ipptool_expect_t *expect; /* Current expected attribute */
ipp_t *request, /* IPP request */
*response; /* IPP response */
size_t length; /* Length of IPP request */
ippSetVersion(request, data->version / 10, data->version % 10);
ippSetRequestId(request, data->request_id);
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
{
cupsFilePuts(data->outfile, "<dict>\n");
cupsFilePuts(data->outfile, "<key>Name</key>\n");
cupsFilePuts(data->outfile, "</array>\n");
}
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
{
if (data->verbosity)
{
cupsFilePrintf(cupsFileStdout(), " %s:\n", ippOpString(ippGetOperation(request)));
for (attrptr = ippFirstAttribute(request); attrptr; attrptr = ippNextAttribute(request))
- print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
+ print_attr(cupsFileStdout(), IPPTOOL_OUTPUT_TEST, attrptr, NULL);
}
cupsFilePrintf(cupsFileStdout(), " %-68.68s [", data->name);
request = NULL;
response = NULL;
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
{
cupsFilePuts(data->outfile, "<key>Successful</key>\n");
cupsFilePuts(data->outfile, "<true />\n");
cupsFilePuts(data->outfile, "<dict />\n");
}
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
cupsFilePuts(cupsFileStdout(), "SKIP]\n");
goto skip_error;
status = HTTP_STATUS_OK;
- if (data->transfer == _CUPS_TRANSFER_CHUNKED || (data->transfer == _CUPS_TRANSFER_AUTO && data->file[0]))
+ if (data->transfer == IPPTOOL_TRANSFER_CHUNKED || (data->transfer == IPPTOOL_TRANSFER_AUTO && data->file[0]))
{
/*
* Send request using chunking - a 0 length means "chunk".
if (ippGetName(attrptr))
{
- if (cupsArrayFind(a, (void *)ippGetName(attrptr)) && data->output < _CUPS_OUTPUT_LIST)
+ if (cupsArrayFind(a, (void *)ippGetName(attrptr)) && data->output < IPPTOOL_OUTPUT_LIST)
add_stringf(data->errors, "Duplicate \"%s\" attribute in %s group",
ippGetName(attrptr), ippTagString(group));
else if (!expect->define_match && !expect->define_value &&
!expect->repeat_match && (!expect->repeat_no_match || repeat_count >= expect->repeat_limit))
{
- if (expect->with_flags & _CUPS_WITH_REGEX)
+ if (expect->with_flags & IPPTOOL_WITH_REGEX)
add_stringf(data->errors, "EXPECTED: %s %s /%s/", expect->name, with_flags_string(expect->with_flags), expect->with_value);
else
add_stringf(data->errors, "EXPECTED: %s %s \"%s\"", expect->name, with_flags_string(expect->with_flags), expect->with_value);
if (repeat_test)
{
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
{
cupsFilePrintf(cupsFileStdout(), "%04d]\n", repeat_count);
\
{
if (!strcmp(data->displayed[i], attrname))
{
- print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
+ print_attr(cupsFileStdout(), IPPTOOL_OUTPUT_TEST, attrptr, NULL);
break;
}
}
}
}
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
{
cupsFilePrintf(cupsFileStdout(), " %-68.68s [", data->name);
}
else
data->fail_count ++;
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
{
cupsFilePuts(data->outfile, "<key>Successful</key>\n");
cupsFilePuts(data->outfile, data->prev_pass ? "<true />\n" : "<false />\n");
cupsFilePuts(data->outfile, "</dict>\n");
cupsFilePuts(data->outfile, "</array>\n");
}
- else if (data->output == _CUPS_OUTPUT_IPPSERVER && response)
+ else if (data->output == IPPTOOL_OUTPUT_IPPSERVER && response)
{
for (attrptr = ippFirstAttribute(response); attrptr; attrptr = ippNextAttribute(response))
{
}
}
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
{
cupsFilePuts(cupsFileStdout(), data->prev_pass ? "PASS]\n" : "FAIL]\n");
if (data->verbosity && response)
{
for (attrptr = ippFirstAttribute(response); attrptr; attrptr = ippNextAttribute(response))
- print_attr(cupsFileStdout(), _CUPS_OUTPUT_TEST, attrptr, NULL);
+ print_attr(cupsFileStdout(), IPPTOOL_OUTPUT_TEST, attrptr, NULL);
}
}
}
- else if (!data->prev_pass && data->output != _CUPS_OUTPUT_QUIET)
+ else if (!data->prev_pass && data->output != IPPTOOL_OUTPUT_QUIET)
fprintf(stderr, "%s\n", cupsLastErrorString());
- if (data->prev_pass && data->output >= _CUPS_OUTPUT_LIST && !data->verbosity && data->num_displayed > 0)
+ if (data->prev_pass && data->output >= IPPTOOL_OUTPUT_LIST && !data->verbosity && data->num_displayed > 0)
{
size_t width; /* Length of value */
}
}
- if (data->output == _CUPS_OUTPUT_CSV)
+ if (data->output == IPPTOOL_OUTPUT_CSV)
print_csv(data, NULL, NULL, data->num_displayed, data->displayed, widths);
else
print_line(data, NULL, NULL, data->num_displayed, data->displayed, widths);
if (attrptr)
{
- if (data->output == _CUPS_OUTPUT_CSV)
+ if (data->output == IPPTOOL_OUTPUT_CSV)
print_csv(data, response, attrptr, data->num_displayed, data->displayed, widths);
else
print_line(data, response, attrptr, data->num_displayed, data->displayed, widths);
}
else if (!data->prev_pass)
{
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
{
cupsFilePuts(data->outfile, "<key>Errors</key>\n");
cupsFilePuts(data->outfile, "<array>\n");
cupsFilePuts(data->outfile, "</array>\n");
}
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
{
for (error = (char *)cupsArrayFirst(data->errors);
error;
}
}
- if (data->num_displayed > 0 && !data->verbosity && response && (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout())))
+ if (data->num_displayed > 0 && !data->verbosity && response && (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout())))
{
for (attrptr = ippFirstAttribute(response); attrptr; attrptr = ippNextAttribute(response))
{
skip_error:
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
cupsFilePuts(data->outfile, "</dict>\n");
ippDelete(response);
static int /* O - 1 on success, 0 on failure */
do_tests(const char *testfile, /* I - Test file to use */
_ipp_vars_t *vars, /* I - Variables */
- _cups_testdata_t *data) /* I - Test data */
+ ipptool_test_t *data) /* I - Test data */
{
http_encryption_t encryption; /* Encryption mode */
static int /* O - 1 to continue, 0 to stop */
error_cb(_ipp_file_t *f, /* I - IPP file data */
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
const char *error) /* I - Error message */
{
(void)f;
static int /* O - 1 if matches, 0 otherwise */
expect_matches(
- _cups_expect_t *expect, /* I - Expected attribute */
+ ipptool_expect_t *expect, /* I - Expected attribute */
ipp_tag_t value_tag) /* I - Value tag for attribute */
{
int match; /* Match? */
value = ippGetString(attr, element, NULL);
- if (flags & _CUPS_WITH_HOSTNAME)
+ if (flags & IPPTOOL_WITH_HOSTNAME)
{
if (httpSeparateURI(HTTP_URI_CODING_ALL, value, scheme, sizeof(scheme), userpass, sizeof(userpass), buffer, (int)bufsize, &port, resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
buffer[0] = '\0';
return (buffer);
}
- else if (flags & _CUPS_WITH_RESOURCE)
+ else if (flags & IPPTOOL_WITH_RESOURCE)
{
if (httpSeparateURI(HTTP_URI_CODING_ALL, value, scheme, sizeof(scheme), userpass, sizeof(userpass), hostname, sizeof(hostname), &port, buffer, (int)bufsize) < HTTP_URI_STATUS_OK)
buffer[0] = '\0';
return (buffer);
}
- else if (flags & _CUPS_WITH_SCHEME)
+ else if (flags & IPPTOOL_WITH_SCHEME)
{
if (httpSeparateURI(HTTP_URI_CODING_ALL, value, buffer, (int)bufsize, userpass, sizeof(userpass), hostname, sizeof(hostname), &port, resource, sizeof(resource)) < HTTP_URI_STATUS_OK)
buffer[0] = '\0';
*/
static void
-init_data(_cups_testdata_t *data) /* I - Data */
+init_data(ipptool_test_t *data) /* I - Data */
{
- memset(data, 0, sizeof(_cups_testdata_t));
+ memset(data, 0, sizeof(ipptool_test_t));
- data->output = _CUPS_OUTPUT_LIST;
+ data->output = IPPTOOL_OUTPUT_LIST;
data->outfile = cupsFileStdout();
data->family = AF_UNSPEC;
- data->def_transfer = _CUPS_TRANSFER_AUTO;
+ data->def_transfer = IPPTOOL_TRANSFER_AUTO;
data->def_version = 11;
data->errors = cupsArrayNew3(NULL, NULL, NULL, 0, (cups_acopy_func_t)strdup, (cups_afree_func_t)free);
data->pass = 1;
static void
print_attr(cups_file_t *outfile, /* I - Output file */
- _cups_output_t output, /* I - Output format */
+ ipptool_output_t output, /* I - Output format */
ipp_attribute_t *attr, /* I - Attribute to print */
ipp_tag_t *group) /* IO - Current group */
{
ipp_attribute_t *colattr; /* Collection attribute */
- if (output == _CUPS_OUTPUT_PLIST)
+ if (output == IPPTOOL_OUTPUT_PLIST)
{
if (!ippGetName(attr) || (group && *group != ippGetGroupTag(attr)))
{
{
char buffer[131072]; /* Value buffer */
- if (output == _CUPS_OUTPUT_TEST)
+ if (output == IPPTOOL_OUTPUT_TEST)
{
if (!ippGetName(attr))
{
static void
print_csv(
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
ipp_t *ipp, /* I - Response message */
ipp_attribute_t *attr, /* I - First attribute for line */
int num_displayed, /* I - Number of attributes to display */
static void
print_fatal_error(
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
const char *s, /* I - Printf-style format string */
...) /* I - Additional arguments as needed */
{
* Then output it...
*/
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
{
print_xml_header(data);
print_xml_trailer(data, 0, buffer);
static void
print_ippserver_attr(
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
ipp_attribute_t *attr, /* I - Attribute to print */
int indent) /* I - Indentation level */
{
static void
print_ippserver_string(
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
const char *s, /* I - String to print */
size_t len) /* I - Length of string */
{
static void
print_line(
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
ipp_t *ipp, /* I - Response message */
ipp_attribute_t *attr, /* I - First attribute for line */
int num_displayed, /* I - Number of attributes to display */
*/
static void
-print_xml_header(_cups_testdata_t *data)/* I - Test data */
+print_xml_header(ipptool_test_t *data)/* I - Test data */
{
if (!data->xml_header)
{
cupsFilePuts(data->outfile, "<key>ipptoolVersion</key>\n");
cupsFilePuts(data->outfile, "<string>" CUPS_SVERSION "</string>\n");
cupsFilePuts(data->outfile, "<key>Transfer</key>\n");
- cupsFilePrintf(data->outfile, "<string>%s</string>\n", data->transfer == _CUPS_TRANSFER_AUTO ? "auto" : data->transfer == _CUPS_TRANSFER_CHUNKED ? "chunked" : "length");
+ cupsFilePrintf(data->outfile, "<string>%s</string>\n", data->transfer == IPPTOOL_TRANSFER_AUTO ? "auto" : data->transfer == IPPTOOL_TRANSFER_CHUNKED ? "chunked" : "length");
cupsFilePuts(data->outfile, "<key>Tests</key>\n");
cupsFilePuts(data->outfile, "<array>\n");
static void
print_xml_trailer(
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
int success, /* I - 1 on success, 0 on failure */
const char *message) /* I - Error message or NULL */
{
static int /* O - 1 to continue, 0 to stop */
token_cb(_ipp_file_t *f, /* I - IPP file data */
_ipp_vars_t *vars, /* I - IPP variables */
- _cups_testdata_t *data, /* I - Test data */
+ ipptool_test_t *data, /* I - Test data */
const char *token) /* I - Current token */
{
char name[1024], /* Name string */
{
if (!strcmp(temp, "auto"))
{
- data->transfer = _CUPS_TRANSFER_AUTO;
+ data->transfer = IPPTOOL_TRANSFER_AUTO;
}
else if (!strcmp(temp, "chunked"))
{
- data->transfer = _CUPS_TRANSFER_CHUNKED;
+ data->transfer = IPPTOOL_TRANSFER_CHUNKED;
}
else if (!strcmp(temp, "length"))
{
- data->transfer = _CUPS_TRANSFER_LENGTH;
+ data->transfer = IPPTOOL_TRANSFER_LENGTH;
}
else
{
data->last_expect = data->expects + data->num_expects;
data->num_expects ++;
- memset(data->last_expect, 0, sizeof(_cups_expect_t));
+ memset(data->last_expect, 0, sizeof(ipptool_expect_t));
data->last_expect->repeat_limit = 1000;
data->last_expect->expect_all = expect_all;
if (data->last_expect)
{
if (!_cups_strcasecmp(token, "WITH-ALL-HOSTNAMES") || !_cups_strcasecmp(token, "WITH-HOSTNAME"))
- data->last_expect->with_flags = _CUPS_WITH_HOSTNAME;
+ data->last_expect->with_flags = IPPTOOL_WITH_HOSTNAME;
else if (!_cups_strcasecmp(token, "WITH-ALL-RESOURCES") || !_cups_strcasecmp(token, "WITH-RESOURCE"))
- data->last_expect->with_flags = _CUPS_WITH_RESOURCE;
+ data->last_expect->with_flags = IPPTOOL_WITH_RESOURCE;
else if (!_cups_strcasecmp(token, "WITH-ALL-SCHEMES") || !_cups_strcasecmp(token, "WITH-SCHEME"))
- data->last_expect->with_flags = _CUPS_WITH_SCHEME;
+ data->last_expect->with_flags = IPPTOOL_WITH_SCHEME;
if (!_cups_strncasecmp(token, "WITH-ALL-", 9))
- data->last_expect->with_flags |= _CUPS_WITH_ALL;
+ data->last_expect->with_flags |= IPPTOOL_WITH_ALL;
}
if (!_ippFileReadToken(f, temp, sizeof(temp)))
*/
data->last_expect->with_value = calloc(1, (size_t)(ptr - value));
- data->last_expect->with_flags |= _CUPS_WITH_REGEX;
+ data->last_expect->with_flags |= IPPTOOL_WITH_REGEX;
if (data->last_expect->with_value)
memcpy(data->last_expect->with_value, value + 1, (size_t)(ptr - value - 1));
}
data->last_expect->with_value = strdup(value);
- data->last_expect->with_flags |= _CUPS_WITH_LITERAL;
+ data->last_expect->with_flags |= IPPTOOL_WITH_LITERAL;
}
}
else
_ippVarsExpand(vars, value, temp, sizeof(value));
data->last_expect->with_value_from = strdup(value);
- data->last_expect->with_flags = _CUPS_WITH_LITERAL;
+ data->last_expect->with_flags = IPPTOOL_WITH_LITERAL;
}
else
{
if (data->show_header)
{
- if (data->output == _CUPS_OUTPUT_PLIST)
+ if (data->output == IPPTOOL_OUTPUT_PLIST)
print_xml_header(data);
- if (data->output == _CUPS_OUTPUT_TEST || (data->output == _CUPS_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
+ if (data->output == IPPTOOL_OUTPUT_TEST || (data->output == IPPTOOL_OUTPUT_PLIST && data->outfile != cupsFileStdout()))
cupsFilePrintf(cupsFileStdout(), "\"%s\":\n", f->filename);
data->show_header = 0;
* Map the filename to and then run the tests...
*/
- _cups_testdata_t inc_data; /* Data for included file */
+ ipptool_test_t inc_data; /* Data for included file */
char filename[1024]; /* Mapped filename */
memcpy(&inc_data, data, sizeof(inc_data));
* Map the filename to and then run the tests...
*/
- _cups_testdata_t inc_data; /* Data for included file */
+ ipptool_test_t inc_data; /* Data for included file */
char filename[1024]; /* Mapped filename */
memcpy(&inc_data, data, sizeof(inc_data));
* Map the filename to and then run the tests...
*/
- _cups_testdata_t inc_data; /* Data for included file */
+ ipptool_test_t inc_data; /* Data for included file */
char filename[1024]; /* Mapped filename */
memcpy(&inc_data, data, sizeof(inc_data));
if (_ippFileReadToken(f, temp, sizeof(temp)))
{
if (!strcmp(temp, "auto"))
- data->def_transfer = _CUPS_TRANSFER_AUTO;
+ data->def_transfer = IPPTOOL_TRANSFER_AUTO;
else if (!strcmp(temp, "chunked"))
- data->def_transfer = _CUPS_TRANSFER_CHUNKED;
+ data->def_transfer = IPPTOOL_TRANSFER_CHUNKED;
else if (!strcmp(temp, "length"))
- data->def_transfer = _CUPS_TRANSFER_LENGTH;
+ data->def_transfer = IPPTOOL_TRANSFER_LENGTH;
else
{
print_fatal_error(data, "Bad TRANSFER value \"%s\" on line %d of \"%s\".", temp, f->linenum, f->filename);
static const char * /* O - WITH-xxx string */
with_flags_string(int flags) /* I - WITH flags */
{
- if (flags & _CUPS_WITH_ALL)
+ if (flags & IPPTOOL_WITH_ALL)
{
- if (flags & _CUPS_WITH_HOSTNAME)
+ if (flags & IPPTOOL_WITH_HOSTNAME)
return ("WITH-ALL-HOSTNAMES");
- else if (flags & _CUPS_WITH_RESOURCE)
+ else if (flags & IPPTOOL_WITH_RESOURCE)
return ("WITH-ALL-RESOURCES");
- else if (flags & _CUPS_WITH_SCHEME)
+ else if (flags & IPPTOOL_WITH_SCHEME)
return ("WITH-ALL-SCHEMES");
else
return ("WITH-ALL-VALUES");
}
- else if (flags & _CUPS_WITH_HOSTNAME)
+ else if (flags & IPPTOOL_WITH_HOSTNAME)
return ("WITH-HOSTNAME");
- else if (flags & _CUPS_WITH_RESOURCE)
+ else if (flags & IPPTOOL_WITH_RESOURCE)
return ("WITH-RESOURCE");
- else if (flags & _CUPS_WITH_SCHEME)
+ else if (flags & IPPTOOL_WITH_SCHEME)
return ("WITH-SCHEME");
else
return ("WITH-VALUE");
*/
static int /* O - 1 on match, 0 on non-match */
-with_value(_cups_testdata_t *data, /* I - Test data */
+with_value(ipptool_test_t *data, /* I - Test data */
cups_array_t *errors, /* I - Errors array */
char *value, /* I - Value string */
int flags, /* I - Flags for match */
*matchbuf = '\0';
- match = (flags & _CUPS_WITH_ALL) ? 1 : 0;
+ match = (flags & IPPTOOL_WITH_ALL) ? 1 : 0;
/*
* NULL matches everything.
}
}
- if (flags & _CUPS_WITH_ALL)
+ if (flags & IPPTOOL_WITH_ALL)
{
if (!valmatch)
{
}
}
- if (flags & _CUPS_WITH_ALL)
+ if (flags & IPPTOOL_WITH_ALL)
{
if (!valmatch)
{
if (!matchbuf[0])
strlcpy(matchbuf, value, matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;
if (!matchbuf[0])
strlcpy(matchbuf, value, matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;
case IPP_TAG_TEXTLANG :
case IPP_TAG_URI :
case IPP_TAG_URISCHEME :
- if (flags & _CUPS_WITH_REGEX)
+ if (flags & IPPTOOL_WITH_REGEX)
{
/*
* Value is an extended, case-sensitive POSIX regular expression...
if (!matchbuf[0])
strlcpy(matchbuf, get_string(attr, i, flags, temp, sizeof(temp)), matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;
regfree(&re);
}
- else if (ippGetValueTag(attr) == IPP_TAG_URI && !(flags & (_CUPS_WITH_SCHEME | _CUPS_WITH_HOSTNAME | _CUPS_WITH_RESOURCE)))
+ else if (ippGetValueTag(attr) == IPP_TAG_URI && !(flags & (IPPTOOL_WITH_SCHEME | IPPTOOL_WITH_HOSTNAME | IPPTOOL_WITH_RESOURCE)))
{
/*
* Value is a literal URI string, see if the value(s) match...
if (!matchbuf[0])
strlcpy(matchbuf, get_string(attr, i, flags, temp, sizeof(temp)), matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;
* Some URI components are case-sensitive, some not...
*/
- if (flags & (_CUPS_WITH_SCHEME | _CUPS_WITH_HOSTNAME))
+ if (flags & (IPPTOOL_WITH_SCHEME | IPPTOOL_WITH_HOSTNAME))
result = _cups_strcasecmp(value, get_string(attr, i, flags, temp, sizeof(temp)));
else
result = strcmp(value, get_string(attr, i, flags, temp, sizeof(temp)));
if (!matchbuf[0])
strlcpy(matchbuf, get_string(attr, i, flags, temp, sizeof(temp)), matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;
break;
case IPP_TAG_STRING :
- if (flags & _CUPS_WITH_REGEX)
+ if (flags & IPPTOOL_WITH_REGEX)
{
/*
* Value is an extended, case-sensitive POSIX regular expression...
if (!matchbuf[0])
strlcpy(matchbuf, temp, matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;
if (!matchbuf[0])
copy_hex_string(matchbuf, adata, adatalen, matchlen);
- if (!(flags & _CUPS_WITH_ALL))
+ if (!(flags & IPPTOOL_WITH_ALL))
{
match = 1;
break;
}
}
- else if (flags & _CUPS_WITH_ALL)
+ else if (flags & IPPTOOL_WITH_ALL)
{
match = 0;
break;