mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
Remove tmp directory after CompilationCachingTest if cache not supported.
The tmp directory is only removed when the driver reports caching not supported, otherwise it is kept for debugging purpose. Test: 1.2 VTS tests with sample driver Change-Id: I5969beb1ec365c992765f40d7693630606f16e18
This commit is contained in:
@@ -87,13 +87,20 @@ class CompilationCachingTest : public NeuralnetworksHidlTest {
|
||||
void SetUp() override {
|
||||
NeuralnetworksHidlTest::SetUp();
|
||||
|
||||
// Create cache directory.
|
||||
// Create cache directory. The cache directory and cache files are always created to test
|
||||
// the behavior of prepareModelFromCache, even when caching is not supported.
|
||||
char cacheDirTemp[] = "/data/local/tmp/TestCompilationCachingXXXXXX";
|
||||
char* cacheDir = mkdtemp(cacheDirTemp);
|
||||
ASSERT_NE(cacheDir, nullptr);
|
||||
mCache1 = cacheDir + mCache1;
|
||||
mCache2 = cacheDir + mCache2;
|
||||
mCache3 = cacheDir + mCache3;
|
||||
mCacheDir = cacheDir;
|
||||
|
||||
// Create empty cache files.
|
||||
mCache1 = mCacheDir + "/cache1";
|
||||
mCache2 = mCacheDir + "/cache2";
|
||||
mCache3 = mCacheDir + "/cache3";
|
||||
// A dummy handle, use AccessMode::WRITE_ONLY for createCacheHandle to create files.
|
||||
hidl_handle handle;
|
||||
createCacheHandle({mCache1, mCache2, mCache3}, AccessMode::WRITE_ONLY, &handle);
|
||||
|
||||
// Check if caching is supported.
|
||||
bool isCachingSupported;
|
||||
@@ -113,10 +120,18 @@ class CompilationCachingTest : public NeuralnetworksHidlTest {
|
||||
<< std::endl;
|
||||
mIsCachingSupported = false;
|
||||
}
|
||||
}
|
||||
|
||||
// Create empty cache files.
|
||||
hidl_handle handle;
|
||||
createCacheHandle({mCache1, mCache2, mCache3}, AccessMode::WRITE_ONLY, &handle);
|
||||
void TearDown() override {
|
||||
// The tmp directory is only removed when the driver reports caching not supported,
|
||||
// otherwise it is kept for debugging purpose.
|
||||
if (!mIsCachingSupported) {
|
||||
remove(mCache1.c_str());
|
||||
remove(mCache2.c_str());
|
||||
remove(mCache3.c_str());
|
||||
rmdir(mCacheDir.c_str());
|
||||
}
|
||||
NeuralnetworksHidlTest::TearDown();
|
||||
}
|
||||
|
||||
void saveModelToCache(sp<IPreparedModel> preparedModel, const hidl_handle& cache1,
|
||||
@@ -163,9 +178,10 @@ class CompilationCachingTest : public NeuralnetworksHidlTest {
|
||||
.withDefault(nullptr);
|
||||
}
|
||||
|
||||
std::string mCache1 = "/cache1";
|
||||
std::string mCache2 = "/cache2";
|
||||
std::string mCache3 = "/cache3";
|
||||
std::string mCacheDir;
|
||||
std::string mCache1;
|
||||
std::string mCache2;
|
||||
std::string mCache3;
|
||||
uint8_t mToken[static_cast<uint32_t>(Constant::BYTE_SIZE_OF_CACHE_TOKEN)] = {};
|
||||
bool mIsCachingSupported;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user