I see the problem now. So the call to TestTempDir() in SetUp() thrown an exception because Comodo Defense+ denied the creation of the temporary directory and then temp_directory_ hadn't been assigned any value but instead left empty. After that the test framework ran TearDown() automatically which called DeleteRecursively() with an empty temp_directory_. As a result the function tried to delete everything under "/"... I'll send a fix for this. Sorry about the trouble it caused...
On Wed, Nov 5, 2014 at 4:12 PM, Peter Wurstkopp <[email protected]> wrote: > Posting on this board is so frustrating... first time I got no information > that my post was submitted and I have to wait, so I submitted it again and > accidentally double posted and now it won't let me post a reply... > "Post" button doesn't do anything, so I switch from Firefox to Chrome and > instead get "You can't submit an empty message without an attachment." > (roughly translated from german) and every word has a red squiggly line > under it. > Hope this works now... > > I just tried debugging it and the problem seems to be in file.cc >> > void File::DeleteRecursively(const string& name, void* dummy1, void* >> dummy2) // Line 134 >> >> With "name" being an empty string. Getting called from TearDown(). >> >> WIN32_FIND_DATA find_data; // Line 141 >> HANDLE find_handle = FindFirstFile((name + "/*").c_str(), &find_data); >> // Line 142 >> >> After this, find_data.cFileName contains "AMD", and then on line 158 >> DeleteFile(path.c_str()) gets called with "/AMD" as argument. >> C:\AMD is a folder which would then get deleted, but I stopped debugging >> there because I didn't want to get more things deleted. >> >> Here is the call stack: >> tests.exe!google::protobuf::File::DeleteRecursively(const >> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & >> name, void * dummy1, void * dummy2) Zeile 158 C++ >> tests.exe!google::protobuf::File::DeleteRecursively(const >> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & >> name, void * dummy1, void * dummy2) Zeile 155 C++ >> tests.exe!google::protobuf::File::DeleteRecursively(const >> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & >> name, void * dummy1, void * dummy2) Zeile 155 C++ >> tests.exe!google::protobuf::File::DeleteRecursively(const >> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & >> name, void * dummy1, void * dummy2) Zeile 155 C++ >> tests.exe!google::protobuf::File::DeleteRecursively(const >> std::basic_string<char,std::char_traits<char>,std::allocator<char> > & >> name, void * dummy1, void * dummy2) Zeile 155 C++ >> tests.exe!google::protobuf::compiler::`anonymous >> namespace'::CommandLineInterfaceTest::TearDown() Zeile 255 C++ >> >> >> tests.exe!testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,void>(testing::Test >> * object, void (void) * method, const char * location) Zeile 1981 C++ >> >> >> tests.exe!testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,void>(testing::Test >> * object, void (void) * method, const char * location) Zeile 2032 C++ >> tests.exe!testing::Test::Run() Zeile 2076 C++ >> tests.exe!testing::TestInfo::Run() Zeile 2248 C++ >> tests.exe!testing::TestCase::Run() Zeile 2352 C++ >> tests.exe!testing::internal::UnitTestImpl::RunAllTests() Zeile 4178 >> C++ >> >> >> tests.exe!testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool>(testing::internal::UnitTestImpl >> * object, bool (void) * method, const char * location) Zeile 1981 C++ >> >> >> tests.exe!testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool>(testing::internal::UnitTestImpl >> * object, bool (void) * method, const char * location) Zeile 2032 C++ >> tests.exe!testing::UnitTest::Run() Zeile 3812 C++ >> tests.exe!main(int argc, char * * argv) Zeile 38 C++ >> >> In the console I get the following errors: >> [libprotobuf FATAL >> c:\users\peter\desktop\protobuf-2.6.0\protobuf-2.6.0\src\google\protobuf\testing\file.cc:105] >> CHECK failed: file != NULL: fopen(s5g8./TEMP_DIR_FOR_PROTOBUF_TESTS, "wb"): >> Permission denied >> unknown file: error: C++ exception with description "CHECK failed: file >> != NULL: fopen(s5g8./TEMP_DIR_FOR_PROTOBUF_TESTS, "wb"): Permission denied" >> thrown in SetUp(). >> >> So I guess it's because Comodo Defense+ denies access to some files or >> something so instead it gets wrong directories/files and starts deleting >> them. >> I like the comment on line 144 ;) "Just delete it, whatever it is." >> > -- > You received this message because you are subscribed to the Google Groups > "Protocol Buffers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/protobuf. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf. For more options, visit https://groups.google.com/d/optout.
