From 418059dd96f5f427eceffff1daeb2a2f6c4adbeb Mon Sep 17 00:00:00 2001 From: David Goulet Date: Tue, 17 Jan 2017 12:09:54 -0500 Subject: test: Add v3 service config and registration test This tests our hs_config.c API to properly load v3 services and register them to the global map. It does NOT test the service object validity, that will be the hs service unit test later on. At this commit, we have 100% code coverage of hs_config.c. Signed-off-by: David Goulet --- src/or/hs_service.c | 20 ++++++++++++++++++++ src/or/hs_service.h | 11 +++++++++++ 2 files changed, 31 insertions(+) (limited to 'src/or') diff --git a/src/or/hs_service.c b/src/or/hs_service.c index eb58c768bb..854ce9e541 100644 --- a/src/or/hs_service.c +++ b/src/or/hs_service.c @@ -6,6 +6,8 @@ * \brief Implement next generation hidden service functionality **/ +#define HS_SERVICE_PRIVATE + #include "or.h" #include "circuitlist.h" #include "config.h" @@ -786,3 +788,21 @@ generate_establish_intro_cell(const uint8_t *circuit_key_material, return NULL; } +#ifdef TOR_UNIT_TESTS + +/* Return the global service map size. Only used by unit test. */ +STATIC unsigned int +get_hs_service_map_size(void) +{ + return HT_SIZE(hs_service_map); +} + +/* Return the staging list size. Only used by unit test. */ +STATIC int +get_hs_service_staging_list_size(void) +{ + return smartlist_len(hs_service_staging_list); +} + +#endif /* TOR_UNIT_TESTS */ + diff --git a/src/or/hs_service.h b/src/or/hs_service.h index 90606acb1c..cd154d3fe9 100644 --- a/src/or/hs_service.h +++ b/src/or/hs_service.h @@ -224,5 +224,16 @@ ssize_t get_establish_intro_payload(uint8_t *buf, size_t buf_len, const trn_cell_establish_intro_t *cell); +#ifdef HS_SERVICE_PRIVATE + +#ifdef TOR_UNIT_TESTS + +STATIC unsigned int get_hs_service_map_size(void); +STATIC int get_hs_service_staging_list_size(void); + +#endif /* TOR_UNIT_TESTS */ + +#endif /* HS_SERVICE_PRIVATE */ + #endif /* TOR_HS_SERVICE_H */ -- cgit v1.2.3-54-g00ecf