用于EagleEye3.0 规则集漏报和误报测试的示例项目,项目收集于github和gitee
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

136 lines
2.9 KiB

// test.cpp : Defines the entry point for the console application.
//
#include "SevenZip/SevenZipExtractor.h"
#include "SevenZip/SevenZipExtractorMemory.h"
#include "SevenZip/SevenZipLister.h"
#include "testing/gtest/include/gtest/gtest.h"
using testing::Test;
class UnProgressCallback : public SevenZip::ProgressCallback
{
public:
virtual bool OnFileCount(unsigned int fileCount)
{
fileCount = fileCount;
return true;
};
virtual bool OnFileItems(std::vector<std::wstring>&itemNames, std::vector<unsigned __int64>&itemSizes)
{
unsigned __int64 sz = 0;
for (unsigned int i = 0; i < itemNames.size(); i++)
{
std::wstring a =itemNames[i];
sz = itemSizes[i];
(void)a;
if (sz > 0)
sz = sz;
else
sz = 0;
}
return false;
};
};
class all_test_7z : public testing::Test
{
public:
all_test_7z() {}
void unzip()
{
SevenZip::SevenZipPassword pwd(true, L"wuding");
UnProgressCallback call;
SevenZip::SevenZipExtractor decompress;
decompress.SetArchivePath(L"D:\\test.7z");
HRESULT ret = S_OK;
if (ret != decompress.ExtractArchive(L"D:\\abc", &call, &pwd))
{
wprintf_s(L"decompress 7z to dir failed %s \n", decompress.GetErrorString().c_str());
}
if (ret != decompress.ExtractArchive(L"D:\\abc", NULL, &pwd))
{
wprintf_s(L"decompress 7z to dir failed %s \n", decompress.GetErrorString().c_str());
}
EXPECT_EQ(ret, S_OK);
}
void unzipmeory()
{
SevenZip::SevenZipPassword pwd(true, L"wuding");
CFileStream fileStreams;
UnProgressCallback call;
SevenZip::SevenZipExtractorMemory decompress;
decompress.SetArchivePath(L"D:\\test.7z");
if (S_OK != decompress.ExtractArchive(fileStreams,&call, &pwd))
{
wprintf_s(L"decompress 7z to dir failed %s \n", decompress.GetErrorString().c_str());
}
HRESULT ret = decompress.ExtractArchive(fileStreams, NULL, &pwd);
if (S_OK!=ret)
{
wprintf_s(L"decompress 7z to dir failed %s \n", decompress.GetErrorString().c_str());
}
std::string sfile = "test\\20131127²èÒ¶°ü×°\\²èÒ¶\\°²×°¹âÅÌ02.00.0038820131127_171555\\HELP\\IMAGE\\¼Û¸ñСÊý.JPG";
unsigned long as = fileStreams.GetFileSize(sfile.c_str());
(void)as;
BlobBuffer blob;
if(fileStreams.GetFile(sfile.c_str(),blob))
blob.SaveBlobToFile("d:\\aab.jpg");
int count= fileStreams.GetFileCount();
unsigned int si = fileStreams.GetAllSize();
const unsigned char *ptr = fileStreams.GetAllBasePtr();
(void)count;
(void)si;
(void)ptr;
EXPECT_EQ(ret, S_OK);
}
};
TEST_F(all_test_7z, TestUnzipFeature)
{
//unzip();
}
TEST_F(all_test_7z, TestUnzipMemoryFeature)
{
unzipmeory();
}
TEST(Test7zunzipTest, unzip)
{
SevenZip::SevenZipExtractor decompress;
decompress.SetArchivePath(L"D:\\test.7z");
HRESULT ret = S_OK;
if (ret != decompress.ExtractArchive(L"D:\\test", nullptr))
{
wprintf_s(L"decompress 7z to dir failed\n");
}
EXPECT_EQ(ret, S_OK);
}
int main(int argc, char* argv[])
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
//
}