Commit 1096f763 authored by rl1987's avatar rl1987
Browse files

A second test case for dns_resolve_impl.

parent 2fc841aa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1714,8 +1714,8 @@ router_compare_to_my_exit_policy(const tor_addr_t *addr, uint16_t port)

/** Return true iff my exit policy is reject *:*.  Return -1 if we don't
 * have a descriptor */
int
router_my_exit_policy_is_reject_star(void)
MOCK_IMPL(int,
router_my_exit_policy_is_reject_star,(void))
{
  if (!router_get_my_routerinfo()) /* make sure desc_routerinfo exists */
    return -1;
+1 −1
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ void check_descriptor_ipaddress_changed(time_t now);
void router_new_address_suggestion(const char *suggestion,
                                   const dir_connection_t *d_conn);
int router_compare_to_my_exit_policy(const tor_addr_t *addr, uint16_t port);
int router_my_exit_policy_is_reject_star(void);
MOCK_DECL(int, router_my_exit_policy_is_reject_star,(void));
MOCK_DECL(const routerinfo_t *, router_get_my_routerinfo, (void));
extrainfo_t *router_get_my_extrainfo(void);
const char *router_get_my_descriptor(void);
+28 −1
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@

#include "dns.h"
#include "connection.h"
#include "router.h"

#define NS_MODULE dns

@@ -382,12 +383,38 @@ NS(test_main)(void *arg)

#define NS_SUBMODULE ASPECT(resolve_impl, non_exit)

/** Given that Tor instance is not configured as an exit node, we want
 * dns_resolve_impl() to fail with return value -1.
 */
static int
NS(router_my_exit_policy_is_reject_star)(void)
{
  return 1;
}

static void
NS(test_main)(void *arg)
{
  tt_skip();
  int retval;
  int made_pending;

  edge_connection_t *exitconn = create_valid_exitconn();
  or_circuit_t *on_circ = tor_malloc_zero(sizeof(or_circuit_t));

  TO_CONN(exitconn)->address = tor_strdup("torproject.org"); 

  NS_MOCK(router_my_exit_policy_is_reject_star);

  retval = dns_resolve_impl(exitconn, 1, on_circ, NULL, &made_pending,
                            NULL);

  tt_int_op(retval,==,-1);

  done:
  tor_free(TO_CONN(exitconn)->address);
  tor_free(exitconn);
  tor_free(on_circ);
  NS_UNMOCK(router_my_exit_policy_is_reject_star);
  return;
}