|
Packit |
b00eeb |
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
|
|
Packit |
b00eeb |
/* unit-test-pkix-parser.c: Test PKIX parser
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
Copyright (C) 2007 Stefan Walter
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
The Gnome Keyring Library is free software; you can redistribute it and/or
|
|
Packit |
b00eeb |
modify it under the terms of the GNU Library General Public License as
|
|
Packit |
b00eeb |
published by the Free Software Foundation; either version 2 of the
|
|
Packit |
b00eeb |
License, or (at your option) any later version.
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
The Gnome Keyring Library is distributed in the hope that it will be useful,
|
|
Packit |
b00eeb |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
b00eeb |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
b00eeb |
Library General Public License for more details.
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
You should have received a copy of the GNU Library General Public
|
|
Packit |
b00eeb |
License along with the Gnome Library; see the file COPYING.LIB. If not,
|
|
Packit |
b00eeb |
see <http://www.gnu.org/licenses/>.
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
Author: Stef Walter <stef@memberwebs.com>
|
|
Packit |
b00eeb |
*/
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "config.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "egg/egg-error.h"
|
|
Packit |
b00eeb |
#include "egg/egg-secure-memory.h"
|
|
Packit |
b00eeb |
#include "egg/egg-testing.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "gcr/gcr-base.h"
|
|
Packit |
b00eeb |
#include "gcr/gcr-internal.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include "gck/gck.h"
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include <glib.h>
|
|
Packit |
b00eeb |
#include <gcrypt.h>
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
#include <errno.h>
|
|
Packit |
b00eeb |
#include <stdlib.h>
|
|
Packit |
b00eeb |
#include <stdio.h>
|
|
Packit |
b00eeb |
#include <string.h>
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
/*
|
|
Packit |
b00eeb |
* Each test looks like (on one line):
|
|
Packit |
b00eeb |
* void unit_test_xxxxx (CuTest* cu)
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* Each setup looks like (on one line):
|
|
Packit |
b00eeb |
* void unit_setup_xxxxx (void);
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* Each teardown looks like (on one line):
|
|
Packit |
b00eeb |
* void unit_teardown_xxxxx (void);
|
|
Packit |
b00eeb |
*
|
|
Packit |
b00eeb |
* Tests be run in the order specified here.
|
|
Packit |
b00eeb |
*/
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
typedef struct {
|
|
Packit |
b00eeb |
GcrParser *parser;
|
|
Packit |
b00eeb |
const gchar* filedesc;
|
|
Packit |
b00eeb |
} Test;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
ensure_block_can_be_parsed (GcrDataFormat format,
|
|
Packit |
b00eeb |
GBytes *block)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParser *parser;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_assert (block != NULL);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
g_object_add_weak_pointer (G_OBJECT (parser), (gpointer *)&parser);
|
|
Packit |
b00eeb |
gcr_parser_format_disable (parser, -1);
|
|
Packit |
b00eeb |
gcr_parser_format_enable (parser, format);
|
|
Packit |
b00eeb |
result = gcr_parser_parse_bytes (parser, block, &error);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (!result) {
|
|
Packit |
b00eeb |
g_critical ("The data returned from gcr_parser_get_parsed_block() "
|
|
Packit |
b00eeb |
"cannot be parsed: %s", error->message);
|
|
Packit |
b00eeb |
g_assert_not_reached ();
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_object_unref (parser);
|
|
Packit |
b00eeb |
g_assert (parser == NULL);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
parsed_item (GcrParser *par, gpointer user_data)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GckAttributes *attrs;
|
|
Packit |
b00eeb |
const gchar *description;
|
|
Packit |
b00eeb |
const gchar *label;
|
|
Packit |
b00eeb |
Test *test = user_data;
|
|
Packit |
b00eeb |
GBytes *block;
|
|
Packit |
b00eeb |
GcrDataFormat format;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_assert (GCR_IS_PARSER (par));
|
|
Packit |
b00eeb |
g_assert (par == test->parser);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
attrs = gcr_parser_get_parsed_attributes (test->parser);
|
|
Packit |
b00eeb |
g_assert (attrs);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
description = gcr_parser_get_parsed_description (test->parser);
|
|
Packit |
b00eeb |
label = gcr_parser_get_parsed_label (test->parser);
|
|
Packit |
b00eeb |
block = gcr_parser_get_parsed_bytes (test->parser);
|
|
Packit |
b00eeb |
format = gcr_parser_get_parsed_format (test->parser);
|
|
Packit |
b00eeb |
ensure_block_can_be_parsed (format, block);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (g_test_verbose ())
|
|
Packit |
b00eeb |
g_print ("%s: '%s'\n", description, label);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static gboolean
|
|
Packit |
b00eeb |
authenticate (GcrParser *par, gint state, gpointer user_data)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
Test *test = user_data;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_assert (GCR_IS_PARSER (par));
|
|
Packit |
b00eeb |
g_assert (par == test->parser);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
switch (state) {
|
|
Packit |
b00eeb |
case 0:
|
|
Packit |
b00eeb |
gcr_parser_add_password (test->parser, "booo");
|
|
Packit |
b00eeb |
return TRUE;
|
|
Packit |
b00eeb |
case 1:
|
|
Packit |
b00eeb |
gcr_parser_add_password (test->parser, "usr0052");
|
|
Packit |
b00eeb |
return TRUE;
|
|
Packit |
b00eeb |
default:
|
|
Packit |
b00eeb |
g_printerr ("decryption didn't work for: %s", test->filedesc);
|
|
Packit |
b00eeb |
g_assert_not_reached ();
|
|
Packit |
b00eeb |
return FALSE;
|
|
Packit |
b00eeb |
};
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
setup (Test *test, gconstpointer unused)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
test->parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
g_signal_connect (test->parser, "parsed", G_CALLBACK (parsed_item), test);
|
|
Packit |
b00eeb |
g_signal_connect (test->parser, "authenticate", G_CALLBACK (authenticate), test);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
teardown (Test *test, gconstpointer unused)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
g_object_unref (test->parser);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
test_parse_one (Test *test,
|
|
Packit |
b00eeb |
gconstpointer user_data)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
const gchar *path = user_data;
|
|
Packit |
b00eeb |
gchar *contents;
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
GBytes *bytes;
|
|
Packit |
b00eeb |
gsize len;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (!g_file_get_contents (path, &contents, &len, NULL))
|
|
Packit |
b00eeb |
g_assert_not_reached ();
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
test->filedesc = path;
|
|
Packit |
b00eeb |
bytes = g_bytes_new_take (contents, len);
|
|
Packit |
b00eeb |
result = gcr_parser_parse_bytes (test->parser, bytes, &error);
|
|
Packit |
b00eeb |
g_assert_no_error (error);
|
|
Packit |
b00eeb |
g_assert (result);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_bytes_unref (bytes);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
on_parsed_compare_bytes (GcrParser *parser,
|
|
Packit |
b00eeb |
gpointer user_data)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GBytes *original = user_data;
|
|
Packit |
b00eeb |
GBytes *bytes;
|
|
Packit |
b00eeb |
gconstpointer data;
|
|
Packit |
b00eeb |
gsize n_data;
|
|
Packit |
b00eeb |
GcrParsed *parsed;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
bytes = gcr_parser_get_parsed_bytes (parser);
|
|
Packit |
b00eeb |
g_assert (bytes != NULL);
|
|
Packit |
b00eeb |
g_assert (g_bytes_equal (original, bytes));
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
data = gcr_parser_get_parsed_block (parser, &n_data);
|
|
Packit |
b00eeb |
g_assert (data != NULL);
|
|
Packit |
b00eeb |
g_assert_cmpint (n_data, ==, g_bytes_get_size (original));
|
|
Packit |
b00eeb |
g_assert (memcmp (data, g_bytes_get_data (original, NULL), n_data) == 0);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
parsed = gcr_parser_get_parsed (parser);
|
|
Packit |
b00eeb |
g_assert (parsed != NULL);
|
|
Packit |
b00eeb |
bytes = gcr_parsed_get_bytes (parsed);
|
|
Packit |
b00eeb |
g_assert (bytes != NULL);
|
|
Packit |
b00eeb |
g_assert (g_bytes_equal (original, bytes));
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
data = gcr_parsed_get_data (parsed, &n_data);
|
|
Packit |
b00eeb |
g_assert (data != NULL);
|
|
Packit |
b00eeb |
g_assert_cmpint (n_data, ==, g_bytes_get_size (original));
|
|
Packit |
b00eeb |
g_assert (memcmp (data, g_bytes_get_data (original, NULL), n_data) == 0);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
test_parsed_bytes (void)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParser *parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
gchar *contents;
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
GBytes *bytes;
|
|
Packit |
b00eeb |
gsize len;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (!g_file_get_contents (SRCDIR "/gcr/fixtures/cacert.org.cer", &contents, &len, NULL))
|
|
Packit |
b00eeb |
g_assert_not_reached ();
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
bytes = g_bytes_new_take (contents, len);
|
|
Packit |
b00eeb |
g_signal_connect (parser, "parsed", G_CALLBACK (on_parsed_compare_bytes), bytes);
|
|
Packit |
b00eeb |
result = gcr_parser_parse_bytes (parser, bytes, &error);
|
|
Packit |
b00eeb |
g_assert_no_error (error);
|
|
Packit |
b00eeb |
g_assert (result);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_bytes_unref (bytes);
|
|
Packit |
b00eeb |
g_object_unref (parser);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
test_parse_null (void)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParser *parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
result = gcr_parser_parse_data (parser, NULL, 0, &error);
|
|
Packit |
b00eeb |
g_assert_error (error, GCR_DATA_ERROR, GCR_ERROR_UNRECOGNIZED);
|
|
Packit |
b00eeb |
g_assert (!result);
|
|
Packit |
b00eeb |
g_error_free (error);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_object_unref (parser);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
test_parse_empty (void)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParser *parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
result = gcr_parser_parse_data (parser, (const guchar *)"", 0, &error);
|
|
Packit |
b00eeb |
g_assert_error (error, GCR_DATA_ERROR, GCR_ERROR_UNRECOGNIZED);
|
|
Packit |
b00eeb |
g_assert (!result);
|
|
Packit |
b00eeb |
g_error_free (error);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_object_unref (parser);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
test_parse_stream (void)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParser *parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
GFile *file;
|
|
Packit |
b00eeb |
GFileInputStream *fis;
|
|
Packit |
b00eeb |
gchar *contents;
|
|
Packit |
b00eeb |
gsize len;
|
|
Packit |
b00eeb |
GBytes *bytes;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
file = g_file_new_for_path (SRCDIR "/gcr/fixtures/cacert.org.cer");
|
|
Packit |
b00eeb |
fis = g_file_read (file, NULL, &error);
|
|
Packit |
b00eeb |
g_assert_no_error (error);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (!g_file_get_contents (SRCDIR "/gcr/fixtures/cacert.org.cer", &contents, &len, NULL))
|
|
Packit |
b00eeb |
g_assert_not_reached ();
|
|
Packit |
b00eeb |
bytes = g_bytes_new_take (contents, len);
|
|
Packit |
b00eeb |
g_signal_connect (parser, "parsed", G_CALLBACK (on_parsed_compare_bytes), bytes);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
result = gcr_parser_parse_stream (parser, G_INPUT_STREAM (fis), NULL, &error);
|
|
Packit |
b00eeb |
g_assert_no_error (error);
|
|
Packit |
b00eeb |
g_assert (result);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_bytes_unref (bytes);
|
|
Packit |
b00eeb |
g_object_unref (fis);
|
|
Packit |
b00eeb |
g_object_unref (file);
|
|
Packit |
b00eeb |
g_object_unref (parser);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
on_parsed_ref (GcrParser *parser,
|
|
Packit |
b00eeb |
gpointer user_data)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParsed **parsed = user_data;
|
|
Packit |
b00eeb |
g_assert (parsed != NULL);
|
|
Packit |
b00eeb |
g_assert (*parsed == NULL);
|
|
Packit |
b00eeb |
*parsed = gcr_parsed_ref (gcr_parser_get_parsed (parser));
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
static void
|
|
Packit |
b00eeb |
test_parse_filename (void)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
GcrParser *parser = gcr_parser_new ();
|
|
Packit |
b00eeb |
GcrParsed *parsed = NULL;
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
gboolean result;
|
|
Packit |
b00eeb |
gchar *contents;
|
|
Packit |
b00eeb |
gsize len;
|
|
Packit |
b00eeb |
GBytes *bytes;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (!g_file_get_contents (SRCDIR "/gcr/fixtures/cacert.org.cer", &contents, &len, NULL))
|
|
Packit |
b00eeb |
g_assert_not_reached ();
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
bytes = g_bytes_new_take (contents, len);
|
|
Packit |
b00eeb |
gcr_parser_set_filename (parser, "cacert.org.cer");
|
|
Packit |
b00eeb |
g_signal_connect (parser, "parsed", G_CALLBACK (on_parsed_ref), &parsed);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
result = gcr_parser_parse_bytes (parser, bytes, &error);
|
|
Packit |
b00eeb |
g_assert_cmpstr (gcr_parser_get_filename (parser), ==, "cacert.org.cer");
|
|
Packit |
b00eeb |
g_assert_no_error (error);
|
|
Packit |
b00eeb |
g_assert (result);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_bytes_unref (bytes);
|
|
Packit |
b00eeb |
g_object_unref (parser);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_assert (parsed != NULL);
|
|
Packit |
b00eeb |
g_assert_cmpstr (gcr_parsed_get_filename (parsed), ==, "cacert.org.cer");
|
|
Packit |
b00eeb |
gcr_parsed_unref (parsed);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
int
|
|
Packit |
b00eeb |
main (int argc, char **argv)
|
|
Packit |
b00eeb |
{
|
|
Packit |
b00eeb |
const gchar *filename;
|
|
Packit |
b00eeb |
GError *error = NULL;
|
|
Packit |
b00eeb |
GPtrArray *strings;
|
|
Packit |
b00eeb |
GDir *dir;
|
|
Packit |
b00eeb |
gchar *path;
|
|
Packit |
b00eeb |
gchar *lower;
|
|
Packit |
b00eeb |
gchar *test;
|
|
Packit |
b00eeb |
int ret;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_test_init (&argc, &argv, NULL);
|
|
Packit |
b00eeb |
g_set_prgname ("test-parser");
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
strings = g_ptr_array_new_with_free_func (g_free);
|
|
Packit |
b00eeb |
dir = g_dir_open (SRCDIR "/gcr/fixtures", 0, &error);
|
|
Packit |
b00eeb |
g_assert_no_error (error);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
for (;;) {
|
|
Packit |
b00eeb |
filename = g_dir_read_name (dir);
|
|
Packit |
b00eeb |
if (!filename)
|
|
Packit |
b00eeb |
break;
|
|
Packit |
b00eeb |
if (filename[0] == '.')
|
|
Packit |
b00eeb |
continue;
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
path = g_build_filename (SRCDIR "/gcr/fixtures", filename, NULL);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
if (g_file_test (path, G_FILE_TEST_IS_DIR)) {
|
|
Packit |
b00eeb |
g_free (path);
|
|
Packit |
b00eeb |
continue;
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
lower = g_ascii_strdown (filename, -1);
|
|
Packit |
b00eeb |
test = g_strdup_printf ("/gcr/parser/%s",
|
|
Packit |
b00eeb |
g_strcanon (lower, "abcdefghijklmnopqrstuvwxyz0123456789", '_'));
|
|
Packit |
b00eeb |
g_free (lower);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_test_add (test, Test, path, setup, test_parse_one, teardown);
|
|
Packit |
b00eeb |
g_ptr_array_add (strings, path);
|
|
Packit |
b00eeb |
g_ptr_array_add (strings, test);
|
|
Packit |
b00eeb |
}
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_dir_close (dir);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
g_test_add_func ("/gcr/parser/parse_null", test_parse_null);
|
|
Packit |
b00eeb |
g_test_add_func ("/gcr/parser/parse_empty", test_parse_empty);
|
|
Packit |
b00eeb |
g_test_add_func ("/gcr/parser/parse_stream", test_parse_stream);
|
|
Packit |
b00eeb |
g_test_add_func ("/gcr/parser/parsed_bytes", test_parsed_bytes);
|
|
Packit |
b00eeb |
g_test_add_func ("/gcr/parser/filename", test_parse_filename);
|
|
Packit |
b00eeb |
|
|
Packit |
b00eeb |
ret = g_test_run ();
|
|
Packit |
b00eeb |
g_ptr_array_free (strings, TRUE);
|
|
Packit |
b00eeb |
return ret;
|
|
Packit |
b00eeb |
}
|