Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /**
0002 salloc_test.cc
0003 ==============
0004 
0005 ~/o/sysrap/tests/salloc_test.sh
0006 
0007 **/
0008 
0009 #include <cstdlib>
0010 #include <iostream>
0011 #include <limits>
0012 
0013 #include "ssys.h"
0014 #include "salloc.h"
0015 
0016 const char* BASE = getenv("BASE");
0017 
0018 struct salloc_test
0019 {
0020     static int save_load();
0021     static int load();
0022     static int main();
0023 };
0024 
0025 int salloc_test::save_load()
0026 {
0027     salloc* a = new salloc ;
0028     a->add("one",   100,  64 );
0029     a->add("two",   200,  64 );
0030     a->add("three", 300,  64 );
0031     a->add("four",  400,  64 );
0032     a->set_meta<uint64_t>("max",  std::numeric_limits<uint64_t>::max()  ) ;
0033     a->set_meta<uint64_t>("max2", 0xffffffffffffffff   );
0034     a->set_meta<uint64_t>("min",  std::numeric_limits<uint64_t>::min()  ) ;
0035 
0036     std::cout << "a.desc" << std::endl << a->desc() ;
0037 
0038     a->save(BASE);
0039 
0040     salloc* b = salloc::Load(BASE)  ;
0041     std::cout << "b.desc" << std::endl << b->desc() ;
0042 
0043     return 0 ;
0044 }
0045 
0046 int salloc_test::load()
0047 {
0048     salloc* a = salloc::Load(BASE) ;
0049     std::cout << "a.desc" << std::endl << a->desc() ;
0050     return 0 ;
0051 }
0052 
0053 int salloc_test::main()
0054 {
0055     const char* TEST = ssys::getenvvar("TEST","save_load");
0056     int rc = 0 ;
0057     if(strcmp(TEST,"save_load")==0 ) rc += save_load();
0058     if(strcmp(TEST,"load")==0 )      rc += load();
0059     return rc ;
0060 }
0061 
0062 int main(){ return salloc_test::main() ; }
0063