File indexing completed on 2026-04-09 07:49:16
0001
0002
0003
0004
0005
0006
0007
0008
0009 #include <cassert>
0010 #include <iostream>
0011
0012 #include "sdirectory.h"
0013 #include "spath.h"
0014 #include "sstr.h"
0015 #include "ssys.h"
0016
0017
0018 struct sdirectory_test
0019 {
0020 static int MakeDirs();
0021 static int MakeDirsForFile();
0022 static int DirList();
0023 static int Main();
0024 };
0025
0026
0027 int sdirectory_test::MakeDirs()
0028 {
0029 const char* dirpath_ = "/tmp/$USER/opticks/red/green/blue/cyan/purple/puce" ;
0030 const char* dirpath = spath::Resolve(dirpath_);
0031
0032 int rc = sdirectory::MakeDirs(dirpath, 0 );
0033 std::cout << " dirpath " << dirpath << " rc " << rc << std::endl ;
0034
0035 return 0 ;
0036 }
0037
0038 int sdirectory_test::MakeDirsForFile()
0039 {
0040 const char* filepath_ = "/tmp/$USER/opticks/some/deep/dir/for/a/file.txt" ;
0041 const char* filepath = spath::Resolve(filepath_);
0042
0043 int rc = sdirectory::MakeDirsForFile(filepath, 0 );
0044 std::cout << " filepath " << filepath << " rc " << rc << std::endl ;
0045
0046 sstr::Write(filepath, "test_MakeDirsForFile\n");
0047 return 0 ;
0048 }
0049
0050 int sdirectory_test::DirList()
0051 {
0052 std::vector<std::string> names ;
0053
0054 const char* path = spath::Resolve("${RNGDir:-$HOME/.opticks/rngcache/RNG}") ;
0055 const char* pfx = "QCurandState_" ;
0056 const char* ext = ".bin" ;
0057 sdirectory::DirList(names, path, pfx, ext );
0058
0059 std::cout << "names.size " << names.size() << "\n" ;
0060 for(int i=0 ; i < int(names.size()) ; i++) std::cout << names[i] << "\n" ;
0061 return 0 ;
0062 }
0063
0064
0065
0066 int sdirectory_test::Main()
0067 {
0068 int rc = 0 ;
0069 const char* TEST = ssys::getenvvar("TEST", "DirList") ;
0070
0071 if(strcmp(TEST, "MakeDirs") == 0 ) rc += MakeDirs();
0072 if(strcmp(TEST, "MakeDirsForFile") == 0 ) rc += MakeDirsForFile();
0073 if(strcmp(TEST, "DirList") == 0 ) rc += DirList();
0074
0075 return rc ;
0076 }
0077
0078
0079 int main(){ return sdirectory_test::Main() ; }