gnucash/libgnucash/backend/xml/test/test-date-converting.cpp
Geert Janssens 83d14e1c1c Restructure the src directory
It is split into
- /libgnucash (for the non-gui bits)
- /gnucash (for the gui)
- /common (misc source files used by both)
- /bindings (currently only holds python bindings)

This is the first step in restructuring the code. It will need much
more fine tuning later on.
2017-08-10 18:45:00 +02:00

93 lines
3.1 KiB
C++

/********************************************************************\
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation; either version 2 of *
* the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License*
* along with this program; if not, contact: *
* *
* Free Software Foundation Voice: +1-617-542-5942 *
* 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
* Boston, MA 02110-1301, USA gnu@gnu.org *
* *
\********************************************************************/
extern "C"
{
#include "config.h"
#include "test-stuff.h"
#include "test-engine-stuff.h"
#include <stdlib.h>
}
#include "test-file-stuff.h"
#include "sixtp-utils.h"
#include "sixtp-dom-generators.h"
#define GNC_V2_STRING "gnc-v2"
const gchar* gnc_v2_xml_version_string = GNC_V2_STRING;
int
main (int argc, char** argv)
{
int i;
for (i = 0; i < 20; i++)
{
Timespec* spec1;
Timespec spec2;
gchar* sec_str;
gchar* nsec_str;
spec1 = get_random_timespec ();
sec_str = timespec_sec_to_string (spec1);
nsec_str = timespec_nsec_to_string (spec1);
if (!string_to_timespec_secs (sec_str, &spec2))
{
failure_args ("string_to_timespec_secs", __FILE__, __LINE__,
"string is %s", sec_str);
}
else if (!string_to_timespec_nsecs (nsec_str, &spec2))
{
failure_args ("string_to_timespec_nsecs", __FILE__, __LINE__,
"string is %s", nsec_str);
}
else if (spec1->tv_sec != spec2.tv_sec)
{
failure_args ("timespec_secs", __FILE__, __LINE__,
"not equal ints are %" G_GINT64_FORMAT
" and %" G_GINT64_FORMAT "\n",
spec1->tv_sec, spec2.tv_sec);
}
else if (spec1->tv_nsec != spec2.tv_nsec)
{
failure_args ("timespec_nsecs", __FILE__, __LINE__,
"not equal ints are %ld and %ld\n",
spec1->tv_nsec, spec2.tv_nsec);
}
else
{
success ("timespec");
}
g_free (spec1);
g_free (sec_str);
g_free (nsec_str);
}
print_test_results ();
exit (get_rv ());
}