[SCM] Samba Shared Repository - branch master updated

Amitay Isaacs amitay at samba.org
Wed May 11 00:20:03 UTC 2016


The branch, master has been updated
       via  e3fdb0a ctdb-tests: rename tests from stubby.* to ctdb.*
       via  92c8bd7 ctdb-tests: Fix output for ctdb reloadnodes tests
       via  92d3704 ctdb-tests: Fix output for ctdb lvs test
       via  047886e ctdb-tests: Fix output for ctdb getcapabilities test
       via  90f04c7 ctdb-tests: Remove ctdb tool stub code
       via  1394856 ctdb-tests: Use fake_ctdbd for ctdb tool tests instead of ctdb stub
       via  0711904 ctdb-tests: Add fake ctdb daemon implementation for testing
       via  627e9a9 ctdb-tool: All errors should be logged via stderr
       via  bbadce4 ctdb-tool: Add test-hooks to enable testing of the tool
       via  c8ed16b ctdb-tests: Remove ctdb reloadips tests
       via  e36a201 ctdb-tool: Remove xpnn command and related tests
       via  e35ffb0 ctdb-protocol: Add function to compare ctdb_sock_addr
       via  ad0286c ctdb-natgw: Allow override of CTDB for testing
       via  60d0725 ctdb-lvs: Allow override of CTDB for testing
       via  63f7466 ctdb-tests: Get rid of ctdb func tests
      from  91f6439 tests/dcerpc: add tests for string allocation and deletion

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e3fdb0a9b6a19a48c6ccd72b37485ae4a8217464
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue May 10 18:28:40 2016 +1000

    ctdb-tests: rename tests from stubby.* to ctdb.*
    
    These tests do not use ctdb tool stub anymore.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Wed May 11 02:19:20 CEST 2016 on sn-devel-144

commit 92c8bd73e9b0aa53ac6f5eedd97ff4adcefe254a
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 15:12:40 2016 +1000

    ctdb-tests: Fix output for ctdb reloadnodes tests
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 92d37043756f667b6b8f09cf8a9d48081579c08c
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 18:43:56 2016 +1000

    ctdb-tests: Fix output for ctdb lvs test
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 047886e414e49287f44617136946815bb48f64f7
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 18:43:32 2016 +1000

    ctdb-tests: Fix output for ctdb getcapabilities test
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 90f04c7fc384016a0fdf6f1c51c1b53c9361825d
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue May 10 18:38:56 2016 +1000

    ctdb-tests: Remove ctdb tool stub code
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 13948562c461a206e9a1613e802eeb0a87de329d
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Apr 27 01:42:33 2016 +1000

    ctdb-tests: Use fake_ctdbd for ctdb tool tests instead of ctdb stub
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 07119045f0669cb4398d8cf138ac0c7980b98d42
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Apr 22 17:30:52 2016 +1000

    ctdb-tests: Add fake ctdb daemon implementation for testing
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 627e9a99f458bb01232794fcb23865a7d20b48ce
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri May 6 14:06:43 2016 +1000

    ctdb-tool: All errors should be logged via stderr
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit bbadce47b912c2b1530f7b7249592b813fe0e9ac
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 13:03:35 2016 +1000

    ctdb-tool: Add test-hooks to enable testing of the tool
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit c8ed16bdc9acfd3441d742a10eb98a768ffcb881
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 15:40:22 2016 +1000

    ctdb-tests: Remove ctdb reloadips tests
    
    Since there are no public IPs setup, these tests do not really test the
    functionality.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit e36a20145dab1b65825827b983fb73bd9b8cd235
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 13:32:31 2016 +1000

    ctdb-tool: Remove xpnn command and related tests
    
    It's unreliable and should not be used.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit e35ffb06bcc9a92cbed921a44e73ea022ce472bd
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Apr 27 18:30:12 2016 +1000

    ctdb-protocol: Add function to compare ctdb_sock_addr
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit ad0286c744b2089540c883b77b8545ad3bc00b82
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Apr 28 13:11:29 2016 +1000

    ctdb-natgw: Allow override of CTDB for testing
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 60d0725f1f3305f3caa4f1ae4b749ac361d4a1f5
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Apr 27 01:43:39 2016 +1000

    ctdb-lvs: Allow override of CTDB for testing
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 63f7466490d22a8cf3946f8330b87d077e463e34
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Apr 27 12:21:18 2016 +1000

    ctdb-tests: Get rid of ctdb func tests
    
    This tested parse_nodestring function from tools/ctdb.c.  However,
    ctdb.c is soon going to be replaced with the code using new client API.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

-----------------------------------------------------------------------

Summary of changes:
 ctdb/protocol/protocol_api.h                       |    1 +
 ctdb/protocol/protocol_util.c                      |   33 +
 ctdb/tests/src/ctdb_functest.c                     |  189 --
 ctdb/tests/src/ctdb_test.c                         |  182 --
 ctdb/tests/src/ctdb_test_stubs.c                   |  861 --------
 ctdb/tests/src/fake_ctdbd.c                        | 2303 ++++++++++++++++++++
 ...bilities.001.sh => ctdb.getcapabilities.001.sh} |    0
 ...bilities.002.sh => ctdb.getcapabilities.002.sh} |    0
 ctdb/tests/tool/ctdb.getcapabilities.003.sh        |   37 +
 ...bilities.004.sh => ctdb.getcapabilities.004.sh} |    0
 ...ubby.listnodes.001.sh => ctdb.listnodes.001.sh} |    0
 ...ubby.listnodes.002.sh => ctdb.listnodes.002.sh} |    0
 .../tool/{stubby.lvs.001.sh => ctdb.lvs.001.sh}    |    0
 .../tool/{stubby.lvs.002.sh => ctdb.lvs.002.sh}    |    0
 .../tool/{stubby.lvs.003.sh => ctdb.lvs.003.sh}    |    0
 .../tool/{stubby.lvs.004.sh => ctdb.lvs.004.sh}    |    0
 .../tool/{stubby.lvs.005.sh => ctdb.lvs.005.sh}    |    0
 .../tool/{stubby.lvs.006.sh => ctdb.lvs.006.sh}    |    0
 .../tool/{stubby.lvs.007.sh => ctdb.lvs.007.sh}    |    0
 ctdb/tests/tool/ctdb.lvs.008.sh                    |   88 +
 .../{stubby.natgw.001.sh => ctdb.natgw.001.sh}     |    0
 .../{stubby.natgw.002.sh => ctdb.natgw.002.sh}     |    0
 .../{stubby.natgw.003.sh => ctdb.natgw.003.sh}     |    0
 .../{stubby.natgw.004.sh => ctdb.natgw.004.sh}     |    0
 .../{stubby.natgw.005.sh => ctdb.natgw.005.sh}     |    0
 .../{stubby.natgw.006.sh => ctdb.natgw.006.sh}     |    0
 .../{stubby.natgw.007.sh => ctdb.natgw.007.sh}     |    0
 .../{stubby.natgw.008.sh => ctdb.natgw.008.sh}     |    0
 ...by.nodestatus.001.sh => ctdb.nodestatus.001.sh} |    0
 ...by.nodestatus.002.sh => ctdb.nodestatus.002.sh} |    0
 .../{stubby.recover.001.sh => ctdb.recover.001.sh} |    0
 ....reloadnodes.001.sh => ctdb.reloadnodes.001.sh} |    0
 ....reloadnodes.002.sh => ctdb.reloadnodes.002.sh} |    0
 ....reloadnodes.003.sh => ctdb.reloadnodes.003.sh} |    3 +-
 ....reloadnodes.011.sh => ctdb.reloadnodes.011.sh} |    3 -
 ....reloadnodes.012.sh => ctdb.reloadnodes.012.sh} |    2 -
 ....reloadnodes.013.sh => ctdb.reloadnodes.013.sh} |    0
 ....reloadnodes.014.sh => ctdb.reloadnodes.014.sh} |    2 -
 ....reloadnodes.015.sh => ctdb.reloadnodes.015.sh} |    0
 ....reloadnodes.016.sh => ctdb.reloadnodes.016.sh} |    2 -
 ....reloadnodes.017.sh => ctdb.reloadnodes.017.sh} |    0
 ....reloadnodes.018.sh => ctdb.reloadnodes.018.sh} |    3 -
 ....reloadnodes.019.sh => ctdb.reloadnodes.019.sh} |    2 -
 ....reloadnodes.020.sh => ctdb.reloadnodes.020.sh} |    2 -
 ....reloadnodes.021.sh => ctdb.reloadnodes.021.sh} |    2 -
 ....reloadnodes.022.sh => ctdb.reloadnodes.022.sh} |    0
 ....reloadnodes.023.sh => ctdb.reloadnodes.023.sh} |    2 -
 ....reloadnodes.024.sh => ctdb.reloadnodes.024.sh} |    0
 .../{stubby.status.001.sh => ctdb.status.001.sh}   |    0
 .../{stubby.status.002.sh => ctdb.status.002.sh}   |    0
 ctdb/tests/tool/func.parse_nodestring.001.sh       |   16 -
 ctdb/tests/tool/func.parse_nodestring.002.sh       |   16 -
 ctdb/tests/tool/func.parse_nodestring.003.sh       |   15 -
 ctdb/tests/tool/scripts/local.sh                   |   49 +-
 ctdb/tests/tool/stubby.getcapabilities.003.sh      |   27 -
 ctdb/tests/tool/stubby.lvs.008.sh                  |   66 -
 ctdb/tests/tool/stubby.reloadips.001.sh            |   17 -
 ctdb/tests/tool/stubby.reloadips.002.sh            |   25 -
 ctdb/tests/tool/stubby.reloadips.003.sh            |   19 -
 ctdb/tests/tool/stubby.xpnn.001.sh                 |   20 -
 ctdb/tests/tool/stubby.xpnn.002.sh                 |   20 -
 ctdb/tests/tool/stubby.xpnn.003.sh                 |   24 -
 ctdb/tests/tool/stubs/ctdb                         |   27 -
 ctdb/tools/ctdb.c                                  |   42 +-
 ctdb/tools/ctdb_lvs                                |   10 +-
 ctdb/tools/ctdb_natgw                              |    8 +-
 ctdb/wscript                                       |   16 +-
 67 files changed, 2532 insertions(+), 1602 deletions(-)
 delete mode 100644 ctdb/tests/src/ctdb_functest.c
 delete mode 100644 ctdb/tests/src/ctdb_test.c
 delete mode 100644 ctdb/tests/src/ctdb_test_stubs.c
 create mode 100644 ctdb/tests/src/fake_ctdbd.c
 rename ctdb/tests/tool/{stubby.getcapabilities.001.sh => ctdb.getcapabilities.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.getcapabilities.002.sh => ctdb.getcapabilities.002.sh} (100%)
 create mode 100755 ctdb/tests/tool/ctdb.getcapabilities.003.sh
 rename ctdb/tests/tool/{stubby.getcapabilities.004.sh => ctdb.getcapabilities.004.sh} (100%)
 rename ctdb/tests/tool/{stubby.listnodes.001.sh => ctdb.listnodes.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.listnodes.002.sh => ctdb.listnodes.002.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.001.sh => ctdb.lvs.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.002.sh => ctdb.lvs.002.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.003.sh => ctdb.lvs.003.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.004.sh => ctdb.lvs.004.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.005.sh => ctdb.lvs.005.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.006.sh => ctdb.lvs.006.sh} (100%)
 rename ctdb/tests/tool/{stubby.lvs.007.sh => ctdb.lvs.007.sh} (100%)
 create mode 100755 ctdb/tests/tool/ctdb.lvs.008.sh
 rename ctdb/tests/tool/{stubby.natgw.001.sh => ctdb.natgw.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.002.sh => ctdb.natgw.002.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.003.sh => ctdb.natgw.003.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.004.sh => ctdb.natgw.004.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.005.sh => ctdb.natgw.005.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.006.sh => ctdb.natgw.006.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.007.sh => ctdb.natgw.007.sh} (100%)
 rename ctdb/tests/tool/{stubby.natgw.008.sh => ctdb.natgw.008.sh} (100%)
 rename ctdb/tests/tool/{stubby.nodestatus.001.sh => ctdb.nodestatus.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.nodestatus.002.sh => ctdb.nodestatus.002.sh} (100%)
 rename ctdb/tests/tool/{stubby.recover.001.sh => ctdb.recover.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.001.sh => ctdb.reloadnodes.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.002.sh => ctdb.reloadnodes.002.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.003.sh => ctdb.reloadnodes.003.sh} (83%)
 rename ctdb/tests/tool/{stubby.reloadnodes.011.sh => ctdb.reloadnodes.011.sh} (82%)
 rename ctdb/tests/tool/{stubby.reloadnodes.012.sh => ctdb.reloadnodes.012.sh} (86%)
 rename ctdb/tests/tool/{stubby.reloadnodes.013.sh => ctdb.reloadnodes.013.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.014.sh => ctdb.reloadnodes.014.sh} (86%)
 rename ctdb/tests/tool/{stubby.reloadnodes.015.sh => ctdb.reloadnodes.015.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.016.sh => ctdb.reloadnodes.016.sh} (86%)
 rename ctdb/tests/tool/{stubby.reloadnodes.017.sh => ctdb.reloadnodes.017.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.018.sh => ctdb.reloadnodes.018.sh} (84%)
 rename ctdb/tests/tool/{stubby.reloadnodes.019.sh => ctdb.reloadnodes.019.sh} (87%)
 rename ctdb/tests/tool/{stubby.reloadnodes.020.sh => ctdb.reloadnodes.020.sh} (87%)
 rename ctdb/tests/tool/{stubby.reloadnodes.021.sh => ctdb.reloadnodes.021.sh} (88%)
 rename ctdb/tests/tool/{stubby.reloadnodes.022.sh => ctdb.reloadnodes.022.sh} (100%)
 rename ctdb/tests/tool/{stubby.reloadnodes.023.sh => ctdb.reloadnodes.023.sh} (85%)
 rename ctdb/tests/tool/{stubby.reloadnodes.024.sh => ctdb.reloadnodes.024.sh} (100%)
 rename ctdb/tests/tool/{stubby.status.001.sh => ctdb.status.001.sh} (100%)
 rename ctdb/tests/tool/{stubby.status.002.sh => ctdb.status.002.sh} (100%)
 delete mode 100755 ctdb/tests/tool/func.parse_nodestring.001.sh
 delete mode 100755 ctdb/tests/tool/func.parse_nodestring.002.sh
 delete mode 100755 ctdb/tests/tool/func.parse_nodestring.003.sh
 delete mode 100755 ctdb/tests/tool/stubby.getcapabilities.003.sh
 delete mode 100755 ctdb/tests/tool/stubby.lvs.008.sh
 delete mode 100755 ctdb/tests/tool/stubby.reloadips.001.sh
 delete mode 100755 ctdb/tests/tool/stubby.reloadips.002.sh
 delete mode 100755 ctdb/tests/tool/stubby.reloadips.003.sh
 delete mode 100755 ctdb/tests/tool/stubby.xpnn.001.sh
 delete mode 100755 ctdb/tests/tool/stubby.xpnn.002.sh
 delete mode 100755 ctdb/tests/tool/stubby.xpnn.003.sh
 delete mode 100755 ctdb/tests/tool/stubs/ctdb


Changeset truncated at 500 lines:

diff --git a/ctdb/protocol/protocol_api.h b/ctdb/protocol/protocol_api.h
index 0f781cc..17ed8c3 100644
--- a/ctdb/protocol/protocol_api.h
+++ b/ctdb/protocol/protocol_api.h
@@ -687,5 +687,6 @@ const char *ctdb_event_to_string(enum ctdb_event event);
 enum ctdb_event ctdb_event_from_string(const char *event_str);
 
 const char *ctdb_sock_addr_to_string(TALLOC_CTX *mem_ctx, ctdb_sock_addr *addr);
+bool ctdb_sock_addr_same(ctdb_sock_addr *addr1, ctdb_sock_addr *addr2);
 
 #endif /* __CTDB_PROTOCOL_API_H__ */
diff --git a/ctdb/protocol/protocol_util.c b/ctdb/protocol/protocol_util.c
index 823849f..636e3a8 100644
--- a/ctdb/protocol/protocol_util.c
+++ b/ctdb/protocol/protocol_util.c
@@ -140,3 +140,36 @@ const char *ctdb_sock_addr_to_string(TALLOC_CTX *mem_ctx, ctdb_sock_addr *addr)
 
 	return cip;
 }
+
+bool ctdb_sock_addr_same(ctdb_sock_addr *addr1, ctdb_sock_addr *addr2)
+{
+	if (addr1->sa.sa_family != addr2->sa.sa_family) {
+		return false;
+	}
+
+	switch (addr1->sa.sa_family) {
+	case AF_INET:
+		if (addr1->ip.sin_addr.s_addr != addr2->ip.sin_addr.s_addr) {
+			return false;
+		}
+		if (addr1->ip.sin_port != addr2->ip.sin_port) {
+			return false;
+		}
+		break;
+
+	case AF_INET6:
+		if (memcmp(addr1->ip6.sin6_addr.s6_addr,
+			   addr2->ip6.sin6_addr.s6_addr, 16) != 0) {
+			return false;
+		}
+		if (addr1->ip6.sin6_port != addr2->ip6.sin6_port) {
+			return false;
+		}
+		break;
+
+	default:
+		return false;
+	}
+
+	return true;
+}
diff --git a/ctdb/tests/src/ctdb_functest.c b/ctdb/tests/src/ctdb_functest.c
deleted file mode 100644
index 9eaae55..0000000
--- a/ctdb/tests/src/ctdb_functest.c
+++ /dev/null
@@ -1,189 +0,0 @@
-/* 
-   Tests for tools/ctdb.c and CTDB client stubs
-
-   Copyright (C) Martin Schwenke 2011
-
-   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 3 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, see <http://www.gnu.org/licenses/>.
-*/
-
-#define CTDB_TEST_OVERRIDE_MAIN
-#include "ctdb_test.c"
-
-static void test_read_nodemap(void)
-{
-	struct ctdb_context *ctdb = talloc_zero(NULL, struct ctdb_context);
-
-	ctdb_test_stubs_read_nodemap(ctdb);
-	ctdb_test_stubs_print_nodemap(ctdb);
-
-	talloc_free(ctdb);
-}
-
-static void test_read_ifaces(void)
-{
-	struct ctdb_context *ctdb = talloc_zero(NULL, struct ctdb_context);
-
-	ctdb_test_stubs_read_ifaces(ctdb);
-	ctdb_test_stubs_print_ifaces(ctdb);
-
-	talloc_free(ctdb);
-}
-
-static void test_read_vnnmap(void)
-{
-	struct ctdb_context *ctdb = talloc_zero(NULL, struct ctdb_context);
-
-	ctdb_test_stubs_read_vnnmap(ctdb);
-	ctdb_test_stubs_print_vnnmap(ctdb);
-
-	talloc_free(ctdb);
-}
-
-static void test_fake_setup(void)
-{
-	bool first = true;
-	struct ctdb_context *ctdb = talloc_zero(NULL, struct ctdb_context);
-
-	ctdb_test_stubs_fake_setup(ctdb);
-
-	if (ctdb->nodes != NULL) {
-		if (!first) {
-			printf("\n");
-		}
-		printf("NODEMAP\n");
-		ctdb_test_stubs_print_nodemap(ctdb);
-		first = false;
-	}
-
-	if (ctdb->ifaces != NULL) {
-		if (!first) {
-			printf("\n");
-		}
-		printf("IFACES\n");
-		ctdb_test_stubs_print_ifaces(ctdb);
-		first = false;
-	}
-
-	if (ctdb->vnn_map != NULL) {
-		if (!first) {
-			printf("\n");
-		}
-		printf("VNNMAP\n");
-		ctdb_test_stubs_print_vnnmap(ctdb);
-		first = false;
-	}
-
-	talloc_free(ctdb);
-}
-
-static const char * decode_pnn_mode(uint32_t pnn_mode)
-{
-	int i;
-	static const struct {
-		uint32_t mode;
-		const char *name;
-	} pnn_modes[] = {
-		{ CTDB_CURRENT_NODE,        "CURRENT_NODE" },
-		{ CTDB_BROADCAST_ALL,       "BROADCAST_ALL" },
-		{ CTDB_BROADCAST_VNNMAP,    "BROADCAST_VNNMAP" },
-		{ CTDB_BROADCAST_CONNECTED, "BROADCAST_CONNECTED" },
-		{ CTDB_MULTICAST,           "MULTICAST" },
-	};
-
-	for (i = 0; i < ARRAY_SIZE(pnn_modes); i++) {
-		if (pnn_mode == pnn_modes[i].mode) {
-			return pnn_modes[i].name;
-		}
-	}
-
-	return "PNN";
-}
-
-static void print_nodes(uint32_t *nodes, uint32_t pnn_mode)
-{
-	int i;
-
-	printf("NODES:");
-	for (i = 0; i < talloc_array_length(nodes); i++) {
-		printf(" %lu", (unsigned long) nodes[i]);
-	}
-	printf("\n");
-
-	printf("PNN MODE: %s (%lu)\n",
-	       decode_pnn_mode(pnn_mode), (unsigned long) pnn_mode);
-}
-
-static void test_parse_nodestring(const char *nodestring_s,
-				  const char *dd_ok_s)
-{
-	const char *nodestring;
-	bool dd_ok;
-	struct ctdb_context *ctdb;
-	uint32_t *nodes;
-	uint32_t pnn_mode;
-
-	nodestring = strcmp("", nodestring_s) == 0 ? NULL : nodestring_s;
-
-	if (strcasecmp(dd_ok_s, "yes") == 0 ||
-	    strcmp(dd_ok_s, "true") == 0) {
-		dd_ok = true;
-	} else {
-		dd_ok = false;
-	}
-
-	ctdb  = talloc_zero(NULL, struct ctdb_context);
-
-	ctdb_test_stubs_read_nodemap(ctdb);
-
-	if (parse_nodestring(ctdb, NULL, nodestring, CTDB_CURRENT_NODE, dd_ok,
-			     &nodes, &pnn_mode)) {
-		print_nodes(nodes, pnn_mode);
-	}
-
-	talloc_free(ctdb);
-}
-
-static void usage(void)
-{
-	fprintf(stderr, "usage: ctdb_tool_functest <op>\n");
-	exit(1);
-}
-
-int main(int argc, const char *argv[])
-{
-	DEBUGLEVEL = DEBUG_DEBUG;
-	if (getenv("CTDB_TEST_LOGLEVEL")) {
-		DEBUGLEVEL = atoi(getenv("CTDB_TEST_LOGLEVEL"));
-	}
-
-	if (argc < 2) {
-		usage();
-	}
-
-	if (argc == 2 && strcmp(argv[1], "read_nodemap") == 0) {
-		test_read_nodemap();
-	} else if (argc == 2 && strcmp(argv[1], "read_ifaces") == 0) {
-		test_read_ifaces();
-	} else if (argc == 2 && strcmp(argv[1], "read_vnnmap") == 0) {
-		test_read_vnnmap();
-	} else if (argc == 2 && strcmp(argv[1], "fake_setup") == 0) {
-		test_fake_setup();
-	} else if (argc == 4 && strcmp(argv[1], "parse_nodestring") == 0) {
-		test_parse_nodestring(argv[2], argv[3]);
-	} else {
-		usage();
-	}
-
-	return 0;
-}
diff --git a/ctdb/tests/src/ctdb_test.c b/ctdb/tests/src/ctdb_test.c
deleted file mode 100644
index a26d959..0000000
--- a/ctdb/tests/src/ctdb_test.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-   ctdb test include file
-
-   Copyright (C) Martin Schwenke  2011
-
-   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 3 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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef _CTDBD_TEST_C
-#define _CTDBD_TEST_C
-
-#ifdef CTDB_TEST_OVERRIDE_MAIN
-
-/* Define our own main() and usage() functions */
-#define main(argc, argv) main_foobar(argc, argv)
-int main_foobar(int argc, const char **argv);
-#define usage usage_foobar
-
-#endif /* CTDB_TEST_USE_MAIN */
-
-#define ctdb_cmdline_client(x, y) \
-	ctdb_cmdline_client_stub(x, y)
-#define tevent_context_init(x) \
-	tevent_context_init_stub(x)
-#define ctdb_ctrl_getnodemap(ctdb, timelimit, pnn, tmp_ctx, nodemap) \
-	ctdb_ctrl_getnodemap_stub(ctdb, timelimit, pnn, tmp_ctx, nodemap)
-#define ctdb_ctrl_getnodesfile(ctdb, timeout, destnode, mem_ctx, nodemap) \
-	ctdb_ctrl_getnodesfile_stub(ctdb, timeout, destnode, mem_ctx, nodemap)
-#define ctdb_ctrl_get_ifaces(ctdb, timelimit, pnn, tmp_ctx, ifaces) \
-	ctdb_ctrl_get_ifaces_stub(ctdb, timelimit, pnn, tmp_ctx, ifaces)
-#define ctdb_ctrl_getpnn(ctdb, timelimit, pnn) \
-	ctdb_ctrl_getpnn_stub(ctdb, timelimit, pnn)
-#define ctdb_ctrl_getrecmode(ctdb, tmp_ctx, timelimit, pnn, recmode) \
-	ctdb_ctrl_getrecmode_stub(ctdb, tmp_ctx, timelimit, pnn, recmode)
-#define ctdb_ctrl_setrecmode(ctdb, timeout, destnode, recmode) \
-	ctdb_ctrl_setrecmode_stub(ctdb, timeout, destnode, recmode)
-#define ctdb_ctrl_getrecmaster(ctdb, tmp_ctx, timelimit, pnn, recmaster) \
-	ctdb_ctrl_getrecmaster_stub(ctdb, tmp_ctx, timelimit, pnn, recmaster)
-#define ctdb_ctrl_getvnnmap(ctdb, timelimit, pnn, tmp_ctx, vnnmap) \
-	ctdb_ctrl_getvnnmap_stub(ctdb, timelimit, pnn, tmp_ctx, vnnmap)
-#define ctdb_ctrl_getdebseqnum(ctdb, timelimit, pnn, db_id, seqnum) \
-	ctdb_ctrl_getvnnmap_stub(ctdb, timelimit, pnn, db_id, seqnum)
-#define ctdb_client_set_message_handler(ctdb, srvid, handler, private_data) \
-	ctdb_client_set_message_handler_stub(ctdb, srvid, handler, private_data)
-#define ctdb_client_remove_message_handler(ctdb, srvid, private_data) \
-	ctdb_client_remove_message_handler_stub(ctdb, srvid, private_data)
-#define ctdb_client_send_message(ctdb, pnn, srvid, data) \
-	ctdb_client_send_message_stub(ctdb, pnn, srvid, data)
-#define ctdb_client_check_message_handlers(ctdb, ids, argc, result) \
-	ctdb_client_check_message_handlers_stub(ctdb, ids, argc, result)
-#define ctdb_ctrl_getcapabilities(ctdb, timeout, destnode, capabilities) \
-	ctdb_ctrl_getcapabilities_stub(ctdb, timeout, destnode, capabilities)
-#define ctdb_ctrl_reload_nodes_file(ctdb, timeout, destnode) \
-	ctdb_ctrl_reload_nodes_file_stub(ctdb, timeout, destnode)
-#define ctdb_sys_have_ip(addr) \
-	ctdb_sys_have_ip_stub(addr)
-#define ctdb_client_async_control(ctdb, opcode, nodes, srvid, timeout, dont_log_errors, data, client_callback, fail_callback, callback_data) \
-	ctdb_client_async_control_stub(ctdb, opcode, nodes, srvid, timeout, dont_log_errors, data, client_callback, fail_callback, callback_data)
-#define ctdb_get_capabilities(ctdb, mem_ctx, timeout, nodemap) \
-	ctdb_get_capabilities_stub(ctdb, mem_ctx, timeout, nodemap)
-
-#include "tools/ctdb.c"
-
-#ifndef CTDB_TEST_USE_MAIN
-#undef main
-#undef usage
-#endif /* CTDB_TEST_USE_MAIN */
-
-#undef ctdb_cmdline_client
-#undef tevent_context_init
-/* This is called in client/ctdb_client.c so needs a declaration... */
-struct ctdb_context *ctdb_cmdline_client(struct tevent_context *ev,
-					 struct timeval req_timeout);
-struct tevent_context *tevent_context_init(TALLOC_CTX *mem_ctx);
-#include "common/cmdline.c"
-
-#undef ctdb_ctrl_getnodemap
-#undef ctdb_ctrl_getnodesfile
-#undef ctdb_ctrl_get_ifaces 
-#undef ctdb_ctrl_getpnn
-#undef ctdb_ctrl_getrecmode
-#undef ctdb_ctrl_setrecmode
-#undef ctdb_ctrl_getrecmaster
-#undef ctdb_ctrl_getvnnmap
-#undef ctdb_ctrl_getdebseqnum
-#undef ctdb_client_set_message_handler
-#undef ctdb_client_remove_message_handler
-#undef ctdb_client_send_message
-#undef ctdb_client_check_message_handlers
-#undef ctdb_ctrl_getcapabilities
-#undef ctdb_ctrl_reload_nodes_file
-#undef ctdb_sys_have_ip
-#undef ctdb_client_async_control
-#undef ctdb_get_capabilities
-
-int ctdb_ctrl_getnodemap(struct ctdb_context *ctdb,
-		    struct timeval timeout, uint32_t destnode,
-		    TALLOC_CTX *mem_ctx, struct ctdb_node_map_old **nodemap);
-int ctdb_ctrl_getnodesfile(struct ctdb_context *ctdb,
-			   struct timeval timeout, uint32_t destnode,
-			   TALLOC_CTX *mem_ctx,
-			   struct ctdb_node_map_old **nodemap);
-int ctdb_ctrl_get_ifaces(struct ctdb_context *ctdb,
-			 struct timeval timeout, uint32_t destnode,
-			 TALLOC_CTX *mem_ctx,
-			 struct ctdb_iface_list_old **ifaces);
-int ctdb_ctrl_getpnn(struct ctdb_context *ctdb, struct timeval timeout,
-		     uint32_t destnode);
-int ctdb_ctrl_getrecmode(struct ctdb_context *ctdb,
-			 TALLOC_CTX *mem_ctx, struct timeval timeout,
-			 uint32_t destnode, uint32_t *recmode);
-int ctdb_ctrl_setrecmode(struct ctdb_context *ctdb, struct timeval timeout,
-			 uint32_t destnode, uint32_t recmode);
-int ctdb_ctrl_getrecmaster(struct ctdb_context *ctdb,
-			   TALLOC_CTX *mem_ctx, struct timeval timeout,
-			   uint32_t destnode, uint32_t *recmaster);
-int ctdb_ctrl_getvnnmap(struct ctdb_context *ctdb,
-		struct timeval timeout, uint32_t destnode,
-		TALLOC_CTX *mem_ctx, struct ctdb_vnn_map **vnnmap);
-int ctdb_ctrl_getdbseqnum(struct ctdb_context *ctdb, struct timeval timeout,
-			  uint32_t destnode, uint32_t dbid, uint64_t *seqnum);
-int ctdb_client_set_message_handler(struct ctdb_context *ctdb,
-				    uint64_t srvid,
-				    srvid_handler_fn handler,
-				    void *private_data);
-int ctdb_client_remove_message_handler(struct ctdb_context *ctdb,
-				       uint64_t srvid,
-				       void *private_data);
-int ctdb_client_send_message(struct ctdb_context *ctdb,
-			     uint32_t pnn,
-			     uint64_t srvid, TDB_DATA data);
-int ctdb_client_check_message_handlers(struct ctdb_context *ctdb,
-				       uint64_t *ids, uint32_t num,
-				       uint8_t *result);
-int ctdb_ctrl_getcapabilities(struct ctdb_context *ctdb,
-			      struct timeval timeout, uint32_t destnode,
-			      uint32_t *capabilities);
-int ctdb_ctrl_reload_nodes_file(struct ctdb_context *ctdb,
-				struct timeval timeout, uint32_t destnode);
-bool ctdb_sys_have_ip(ctdb_sock_addr *addr);
-int
-ctdb_client_async_control(struct ctdb_context *ctdb,
-			  enum ctdb_controls opcode,
-			  uint32_t *nodes,
-			  uint64_t srvid,
-			  struct timeval timeout,
-			  bool dont_log_errors,
-			  TDB_DATA data,
-			  client_async_callback client_callback,
-			  client_async_callback fail_callback,
-			  void *callback_data);
-struct ctdb_node_capabilities *
-ctdb_get_capabilities(struct ctdb_context *ctdb,
-		      TALLOC_CTX *mem_ctx,
-		      struct timeval timeout,
-		      struct ctdb_node_map_old *nodemap);
-
-#undef TIMELIMIT
-
-/* CTDB_COMMON_OBJ */
-#include "common/ctdb_io.c"
-#include "common/ctdb_util.c"
-#include "common/ctdb_ltdb.c"
-
-/* CTDB_CLIENT_OBJ */
-#include "client/ctdb_client.c"
-
-/* TEST STUBS */
-#include "ctdb_test_stubs.c"
-
-#endif /* _CTDBD_TEST_C */
diff --git a/ctdb/tests/src/ctdb_test_stubs.c b/ctdb/tests/src/ctdb_test_stubs.c
deleted file mode 100644
index 8ed2840..0000000
--- a/ctdb/tests/src/ctdb_test_stubs.c
+++ /dev/null
@@ -1,861 +0,0 @@
-/*
-   Test stubs and support functions for some CTDB client functions
-
-   Copyright (C) Martin Schwenke  2011
-
-   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 3 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, see <http://www.gnu.org/licenses/>.
-*/
-
-/* Useful for functions that don't get struct ctdb_context passed */
-static struct ctdb_context *ctdb_global;
-
-static struct ctdb_node_capabilities *global_caps = NULL;
-
-/* Read a nodemap from stdin.  Each line looks like:
- *  <PNN> <FLAGS> [RECMASTER] [CURRENT] [CAPABILITIES]
- * EOF or a blank line terminates input.
- *
- * By default, capablities for each node are
- * CTDB_CAP_RECMASTER|CTDB_CAP_LMASTER.  These 2
- * capabilities can be faked off by adding, for example,
- * -CTDB_CAP_RECMASTER.
- */
-
-/* A fake flag that is only supported by some functions */
-#define NODE_FLAGS_FAKE_TIMEOUT 0x80000000
-
-static void ctdb_test_stubs_read_nodemap(struct ctdb_context *ctdb)
-{
-	char line[1024];
-
-	TALLOC_FREE(ctdb->nodes);
-	ctdb->pnn = -1;
-	ctdb->num_nodes = 0;
-
-	ctdb->nodes = NULL;
-
-	while ((fgets(line, sizeof(line), stdin) != NULL) &&
-	       (line[0] != '\n')) {
-		uint32_t pnn, flags, capabilities;
-		char *tok, *t;
-		char *ip;
-		ctdb_sock_addr saddr;
-
-		/* Get rid of pesky newline */
-		if ((t = strchr(line, '\n')) != NULL) {
-			*t = '\0';
-		}
-


-- 
Samba Shared Repository



More information about the samba-cvs mailing list