summaryrefslogtreecommitdiff
path: root/ndb/tools
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2004-11-08 13:33:10 +0000
committerunknown <tomas@poseidon.ndb.mysql.com>2004-11-08 13:33:10 +0000
commita3503c7505e24fad6a91231bca806d2ab1dd774f (patch)
tree001c738e5b6dd8eaced0f9758766d2ed1682d463 /ndb/tools
parent70663052d8ba2fa319fb2c4ae6db47922239066d (diff)
downloadmariadb-git-a3503c7505e24fad6a91231bca806d2ab1dd774f.tar.gz
added ndb test platform test
Diffstat (limited to 'ndb/tools')
-rw-r--r--ndb/tools/Makefile.am3
-rw-r--r--ndb/tools/ndb_test_platform.cpp93
2 files changed, 96 insertions, 0 deletions
diff --git a/ndb/tools/Makefile.am b/ndb/tools/Makefile.am
index 64625f69ea2..fad9bf9ff84 100644
--- a/ndb/tools/Makefile.am
+++ b/ndb/tools/Makefile.am
@@ -1,5 +1,6 @@
ndbtools_PROGRAMS = \
+ ndb_test_platform \
ndb_waiter \
ndb_drop_table \
ndb_delete_all \
@@ -11,6 +12,7 @@ ndbtools_PROGRAMS = \
tools_common_sources = ../test/src/NDBT_ReturnCodes.cpp ../test/src/NDBT_Table.cpp ../test/src/NDBT_Output.cpp
+ndb_test_platform_SOURCES = ndb_test_platform.cpp
ndb_waiter_SOURCES = waiter.cpp $(tools_common_sources)
ndb_delete_all_SOURCES = delete_all.cpp $(tools_common_sources)
ndb_desc_SOURCES = desc.cpp $(tools_common_sources)
@@ -23,6 +25,7 @@ ndb_select_count_SOURCES = select_count.cpp $(tools_common_sources)
include $(top_srcdir)/ndb/config/common.mk.am
include $(top_srcdir)/ndb/config/type_ndbapitools.mk.am
+ndb_test_platform_LDFLAGS = @ndb_bin_am_ldflags@
ndb_waiter_LDFLAGS = @ndb_bin_am_ldflags@
ndb_drop_table_LDFLAGS = @ndb_bin_am_ldflags@
ndb_delete_all_LDFLAGS = @ndb_bin_am_ldflags@
diff --git a/ndb/tools/ndb_test_platform.cpp b/ndb/tools/ndb_test_platform.cpp
new file mode 100644
index 00000000000..2b8bbd0274b
--- /dev/null
+++ b/ndb/tools/ndb_test_platform.cpp
@@ -0,0 +1,93 @@
+/* Copyright (C) 2003 MySQL AB
+
+ 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, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+
+
+#include <ndb_global.h>
+#include <my_sys.h>
+#include <BaseString.hpp>
+
+/*
+ * Test BaseString::snprintf
+ */
+
+static
+int test_snprintf(const char * fmt, int buf_sz, int result)
+{
+ int ret;
+ char buf[100];
+ ret = BaseString::snprintf(buf, buf_sz, fmt);
+
+ if(ret < 0)
+ {
+ printf("BaseString::snprint returns %d\n", ret);
+ return -1;
+ }
+
+ if(ret+1 == buf_sz)
+ {
+ printf("BaseString::snprint truncates\n");
+ return -1;
+ }
+
+ if(ret != result)
+ {
+ printf("BaseString::snprint returns incorrect value: %d != %d\n",
+ ret, result);
+ return -1;
+ }
+
+ for(ret = 0; ret+1 < buf_sz && ret < result; ret++)
+ {
+ if(buf[ret] != fmt[ret])
+ {
+ printf("BaseString::snprint Incorrect value in output buffer: "
+ "%d %d %d %d %d\n",
+ buf_sz, result, ret, buf[ret], fmt[ret]);
+ return -1;
+ }
+ }
+ return 0;
+}
+
+int
+main(void)
+{
+ /*
+ * Test BaseString::snprintf
+ */
+
+ if(test_snprintf("test", 1, 4))
+ return -1;
+
+ if(test_snprintf("test", 0, 4))
+ return -1;
+
+ if(test_snprintf("test", 100, 4))
+ return -1;
+
+ /*
+ * Test UintPtr
+ */
+
+ if (sizeof(UintPtr) != sizeof(Uint32*))
+ {
+ printf("sizeof(UintPtr)=%d != sizeof(Uint32*)=%d\n",
+ sizeof(UintPtr), sizeof(Uint32*));
+ return -1;
+ }
+
+ return 0;
+}