diff options
author | Nick Mathewson <nickm@torproject.org> | 2003-10-01 22:31:13 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2003-10-01 22:31:13 +0000 |
commit | 6ac42f5ec059421fdfbeb3ef8f2b4448c14b2947 (patch) | |
tree | 72e804415c831e11dc0e18685dca06373a96c413 /src/or/test.c | |
parent | 7f10126a1e7184b0fc6ae47ca2efc8e96f13d6d5 (diff) | |
download | tor-6ac42f5ec059421fdfbeb3ef8f2b4448c14b2947.tar tor-6ac42f5ec059421fdfbeb3ef8f2b4448c14b2947.tar.gz |
Make testcases run again; more sanity checking to descriptor generation.
svn:r532
Diffstat (limited to 'src/or/test.c')
-rw-r--r-- | src/or/test.c | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/src/or/test.c b/src/or/test.c index 5680166e3..3b6ff4650 100644 --- a/src/or/test.c +++ b/src/or/test.c @@ -490,11 +490,6 @@ test_onion_handshake() { crypto_free_pk_env(pk); } -/* from main.c */ -int dump_router_to_string(char *s, int maxlen, routerinfo_t *router, - crypto_pk_env_t *ident_key); -void dump_directory_to_string(char *s, int maxlen); - /* from routers.c */ int compare_recommended_versions(char *myversion, char *start); @@ -528,6 +523,7 @@ test_dir_format() r1.link_pkey = pk3; r1.bandwidth = 1000; r1.exit_policy = NULL; + r1.nickname = "Magri"; ex1.policy_type = EXIT_POLICY_ACCEPT; ex1.string = NULL; @@ -556,8 +552,15 @@ test_dir_format() &pk2_str_len)); test_assert(!crypto_pk_write_public_key_to_string(pk3 , &pk3_str, &pk3_str_len)); + + memset(buf, 0, 2048); + log_set_severity(LOG_WARNING); + test_assert(router_dump_router_to_string(buf, 2048, &r1, pk2)>0); - strcpy(buf2, "router testaddr1.foo.bar 9000 9002 9003 1000\n" + strcpy(buf2, "router Magri testaddr1.foo.bar 9000 9002 9003 1000\n" + "platform Tor "VERSION" on "); + strcat(buf2, get_uname()); + strcat(buf2, "\n" "published 1970-01-01 00:00:00\n" "onion-key\n"); strcat(buf2, pk1_str); @@ -566,13 +569,11 @@ test_dir_format() strcat(buf2, "signing-key\n"); strcat(buf2, pk2_str); strcat(buf2, "router-signature\n"); + buf[strlen(buf2)] = '\0'; /* Don't compare the sig; it's never the same twice*/ - memset(buf, 0, 2048); - test_assert(dump_router_to_string(buf, 2048, &r1, pk1)>0); - buf[strlen(buf2)] = '\0'; /* Don't compare the sig; it's never the same 2ce*/ test_streq(buf, buf2); - test_assert(dump_router_to_string(buf, 2048, &r1, pk1)>0); + test_assert(router_dump_router_to_string(buf, 2048, &r1, pk2)>0); cp = buf; rp1 = router_get_entry_from_string(&cp); test_assert(rp1); @@ -586,13 +587,14 @@ test_dir_format() test_assert(crypto_pk_cmp_keys(rp1->identity_pkey, pk2) == 0); test_assert(rp1->exit_policy == NULL); -#if 0 +#if 0 + /* XXX Once we have exit policies, test this again. XXX */ strcpy(buf2, "router tor.tor.tor 9005 0 0 3000\n"); strcat(buf2, pk2_str); strcat(buf2, "signing-key\n"); strcat(buf2, pk1_str); strcat(buf2, "accept *:80\nreject 18.*:24\n\n"); - test_assert(dump_router_to_string(buf, 2048, &r2, pk2)>0); + test_assert(router_dump_router_to_string(buf, 2048, &r2, pk2)>0); test_streq(buf, buf2); cp = buf; @@ -616,6 +618,10 @@ test_dir_format() test_assert(rp2->exit_policy->next->next == NULL); #endif +#if 0 + /* XXX To re-enable this test, we need to separate directory generation + * XXX from the directory backend again. Do this the next time we have + * XXX directory trouble. */ /* Okay, now for the directories. */ dir1 = (directory_t*) tor_malloc(sizeof(directory_t)); dir1->n_routers = 2; @@ -627,7 +633,8 @@ test_dir_format() test_assert(! router_get_dir_from_string_impl(buf, &dir2, pk1)); test_eq(2, dir2->n_routers); - +#endif + if (pk1_str) free(pk1_str); if (pk2_str) free(pk2_str); if (pk1) crypto_free_pk_env(pk1); |