Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:16

0001 /**
0002 sdirectory_test.cc
0003 ===================
0004 
0005 ~/o/sysrap/tests/sdirectory_test.sh 
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() ; }