[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-dev] Stegotorus - google unit tests



Hey Noah,

It seems that you successfully compiled Stegotorus, congratulation! ;)

Although, you still have problem with compiling the unit tests in google
framework, they are not essential in solving your challenge. I recommend
that you start working on your challenge now.

Per Google's recommendation, I've included the google unit test code
inside the code, so that g_unittests_LDFLAGS probably won't help
(because you are linking to the object file directly). You might want to
download the google frame work and try to compile it independently
without the stegotorus headache: 

https://googletest.googlecode.com/files/gtest-1.7.0.zip

Keep the good work going!
vmon

Noah Rahman <selimthegrim@xxxxxxxxx> writes:

> after fixing the local branch and having to remove -Werror by hand
> from the makefile yet again...maybe I am missing something else in the
> unit tests? I checked git branch -v and it now matches the tor-improve
> on remote/tor-improve
>
> selimthegrim@Rimsky-Korsakoffee:~/stegotorus$ make -j2
> make all-am
> make[1]: Entering directory `/home/selimthegrim/stegotorus'
> depbase=`echo src/steg/payload_scraper.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/steg/payload_scraper.o -MD -MP -MF $depbase.Tpo -c
> -o src/steg/payload_scraper.o src/steg/payload_scraper.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> /bin/bash ./src/genmodtable.sh protolist.cc src/protocol/chop.cc
> src/protocol/chop_blk.cc src/protocol/null.cc
> protolist.cc is unchanged
> touch stamp-protolist
> /bin/bash ./src/genmodtable.sh steglist.cc src/steg/b64cookies.cc
> src/steg/cookies.cc src/steg/embed.cc src/steg/http.cc
> src/steg/http_apache.cc src/steg/http_steg_mods/file_steg.cc
> src/steg/http_steg_mods/pdfSteg.cc src/steg/http_steg_mods/swfSteg.cc
> src/steg/http_steg_mods/jsSteg.cc src/steg/http_steg_mods/jpgSteg.cc
> src/steg/http_steg_mods/pngSteg.cc src/steg/http_steg_mods/gifSteg.cc
> src/steg/nosteg.cc src/steg/nosteg_rr.cc src/steg/payload_server.cc
> src/steg/trace_payload_server.cc src/steg/payload_scraper.cc
> src/steg/apache_payload_server.cc
> steglist.cc is unchanged
> touch stamp-steglist
> depbase=`echo src/pgen_fake.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/pgen_fake.o -MD -MP -MF $depbase.Tpo -c -o
> src/pgen_fake.o src/pgen_fake.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> /bin/bash ./src/test/genunitgrps.sh unitgrplist.cc
> src/test/unittest_base64.cc src/test/unittest_compression.cc
> src/test/unittest_crypt.cc src/test/unittest_pdfsteg.cc
> src/test/unittest_socks.cc
> touch stamp-unitgrplist
> depbase=`echo src/test/tltester.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
> `;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/tltester.o -MD -MP -MF $depbase.Tpo -c -o
> src/test/tltester.o src/test/tltester.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/webpage_tester.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/webpage_tester.o -MD -MP -MF $depbase.Tpo -c -
> o src/test/webpage_tester.o src/test/webpage_tester.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> src/steg/payload_scraper.cc: In member function âint
> PayloadScraper::scrape()â:
> src/steg/payload_scraper.cc:283:49: warning: ignoring return value of
> âint system(const char*)â, declared with attribute warn_unused_result
> [-Wunused-result]
> system(ftp_unmount_command_string.c_str());
> ^
> src/steg/payload_scraper.cc:312:49: warning: ignoring return value of
> âint system(const char*)â, declared with attribute warn_unused_result
> [-Wunused-result]
> system(ftp_unmount_command_string.c_str());
> ^
> depbase=`echo protolist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT protolist.o -MD -MP -MF $depbase.Tpo -c -o protolist.o
> protolist.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo steglist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT steglist.o -MD -MP -MF $depbase.Tpo -c -o steglist.o
> steglist.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o pgen_fake src/pgen_fake.o src/util.o
> src/rng.o src/base64.o -lcrypto 
> depbase=`echo src/test/tinytest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
> `;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/tinytest.o -MD -MP -MF $depbase.Tpo -c -o
> src/test/tinytest.o src/test/tinytest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'
> `;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest.o -MD -MP -MF $depbase.Tpo -c -o
> src/test/unittest.o src/test/unittest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_base64.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_base64.o -MD -MP -MF $depbase.Tpo -c
> -o src/test/unittest_base64.o src/test/unittest_base64.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_compression.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_compression.o -MD -MP -MF
> $depbase.Tpo -c -o src/test/unittest_compression.o
> src/test/unittest_compression.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_crypt.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_crypt.o -MD -MP -MF $depbase.Tpo -c -
> o src/test/unittest_crypt.o src/test/unittest_crypt.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_pdfsteg.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_pdfsteg.o -MD -MP -MF $depbase.Tpo -
> c -o src/test/unittest_pdfsteg.o src/test/unittest_pdfsteg.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/unittest_socks.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/unittest_socks.o -MD -MP -MF $depbase.Tpo -c -
> o src/test/unittest_socks.o src/test/unittest_socks.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo unitgrplist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT unitgrplist.o -MD -MP -MF $depbase.Tpo -c -o
> unitgrplist.o unitgrplist.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/gtest/gtest_main.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/gtest/gtest_main.o -MD -MP -MF $depbase.Tpo -
> c -o src/test/gtest/gtest_main.o src/test/gtest/gtest_main.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/gtest/gtest-all.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/gtest/gtest-all.o -MD -MP -MF $depbase.Tpo -c
> -o src/test/gtest/gtest-all.o src/test/gtest/gtest-all.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/steg_test/steg_mod_unittest.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/steg_test/steg_mod_unittest.o -MD -MP -MF
> $depbase.Tpo -c -o src/test/steg_test/steg_mod_unittest.o
> src/test/steg_test/steg_mod_unittest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/test/steg_test/payload_scraper_unittest.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/steg_test/payload_scraper_unittest.o -MD -MP -
> MF $depbase.Tpo -c -o src/test/steg_test/payload_scraper_unittest.o
> src/test/steg_test/payload_scraper_unittest.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o tltester src/test/tltester.o
> src/util.o src/util-net.o -levent 
> depbase=`echo src/test/tester_proxy/tester_proxy.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/test/tester_proxy/tester_proxy.o -MD -MP -MF
> $depbase.Tpo -c -o src/test/tester_proxy/tester_proxy.o
> src/test/tester_proxy/tester_proxy.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> depbase=`echo src/http_parser/http_parser.o | sed 's|
> [^/]*$|.deps/&|;s|\.o$||'`;\
> g++ -I. -I./src -I./src/steg -I./src/steg/http_steg_mods -
> I./src/test/gtest -I./src/test/gtest/include -Wall -Wextra -
> Wno-missing-field-initializers -Wformat=2 -std=c++0x -g -O2 -
> std=gnu++11 -MT src/http_parser/http_parser.o -MD -MP -MF $depbase.Tpo
> -c -o src/http_parser/http_parser.o src/http_parser/http_parser.cc &&\
> mv -f $depbase.Tpo $depbase.Po
> rm -f libstegotorus.a
> ar cru libstegotorus.a src/base64.o src/compression.o
> src/connections.o src/crypt.o src/mkem.o src/network.o src/protocol.o
> src/rng.o src/socks.o src/steg.o src/util.o src/util-net.o
> src/evbuf_util.o src/curl_util.o src/transparent_proxy.o
> src/protocol/chop.o src/protocol/chop_blk.o src/protocol/null.o
> src/steg/b64cookies.o src/steg/cookies.o src/steg/embed.o
> src/steg/http.o src/steg/http_apache.o src/steg/http_apache.o
> src/steg/http_steg_mods/file_steg.o src/steg/http_steg_mods/pdfSteg.o
> src/steg/http_steg_mods/swfSteg.o src/steg/http_steg_mods/jsSteg.o
> src/steg/http_steg_mods/jpgSteg.o src/steg/http_steg_mods/pngSteg.o
> src/steg/http_steg_mods/gifSteg.o src/steg/nosteg.o
> src/steg/nosteg_rr.o src/steg/payload_server.o
> src/steg/trace_payload_server.o src/steg/payload_scraper.o
> src/steg/apache_payload_server.o src/subprocess-unix.o protolist.o
> steglist.o 
> : libstegotorus.a
> /bin/bash ./src/audit-globals.sh src/base64.o src/compression.o
> src/connections.o src/crypt.o src/mkem.o src/network.o src/protocol.o
> src/rng.o src/socks.o src/steg.o src/util.o src/util-net.o
> src/evbuf_util.o src/curl_util.o src/transparent_proxy.o
> src/protocol/chop.o src/protocol/chop_blk.o src/protocol/null.o
> src/steg/b64cookies.o src/steg/cookies.o src/steg/embed.o
> src/steg/http.o src/steg/http_apache.o src/steg/http_apache.o
> src/steg/http_steg_mods/file_steg.o src/steg/http_steg_mods/pdfSteg.o
> src/steg/http_steg_mods/swfSteg.o src/steg/http_steg_mods/jsSteg.o
> src/steg/http_steg_mods/jpgSteg.o src/steg/http_steg_mods/pngSteg.o
> src/steg/http_steg_mods/gifSteg.o src/steg/nosteg.o
> src/steg/nosteg_rr.o src/steg/payload_server.o
> src/steg/trace_payload_server.o src/steg/payload_scraper.o
> src/steg/apache_payload_server.o src/subprocess-unix.o protolist.o
> steglist.o src/main.o
> sed: -e expression #1, char 113: unknown option to `s'
> touch stamp-audit-globals
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o unittests src/test/tinytest.o
> src/test/unittest.o src/test/unittest_base64.o
> src/test/unittest_compression.o src/test/unittest_crypt.o
> src/test/unittest_pdfsteg.o src/test/unittest_socks.o unitgrplist.o
> libstegotorus.a -levent -lcrypto -lz -lcurl -lboost_system -
> lboost_filesystem -lconfig++ 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o tester_proxy
> src/test/tester_proxy/tester_proxy.o -levent_openssl -levent -lssl -
> lcrypto 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o webpage_tester
> src/test/webpage_tester.o src/util.o src/util-net.o src/curl_util.o
> src/http_parser/http_parser.o -levent -lcrypto -lz -lcurl -
> lboost_system -lboost_filesystem -lconfig++ 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o stegotorus src/main.o libstegotorus.a
> -levent -lcrypto -lz -lcurl -lboost_system -lboost_filesystem -
> lconfig++ 
> g++ -Wall -Wextra -Wno-missing-field-initializers -Wformat=2 -
> std=c++0x -g -O2 -std=gnu++11 -o g_unittests
> src/test/gtest/gtest_main.o src/test/gtest/gtest-all.o
> src/test/steg_test/steg_mod_unittest.o
> src/test/steg_test/payload_scraper_unittest.o libstegotorus.a -levent -
> lcrypto -lz -lcurl -lboost_system -lboost_filesystem -lconfig++ 
> /usr/bin/ld: src/test/gtest/gtest-all.o: undefined reference to symbol
> 'pthread_key_delete@@GLIBC_2.2.5'
> /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO
> missing from command line
> collect2: error: ld returned 1 exit status
> make[1]: *** [g_unittests] Error 1
> make[1]: Leaving directory `/home/selimthegrim/stegotorus'
> make: *** [all] Error 2
_______________________________________________
tor-dev mailing list
tor-dev@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev