msgQ test: Adjust test parameters (num priorities, numiters)
[charm.git] / tests / charm++ / io / iotest.C
1 #include "iotest.decl.h"
2
3 /* readonly */ CkGroupID mgr;
4
5 class Main : public CBase_Main {
6   CProxy_test testers;
7   int n;
8 public:
9   Main(CkArgMsg *m) {
10     n = atoi(m->argv[1]);
11     mgr = Ck::IO::CProxy_Manager::ckNew();
12     CkPrintf("Main created group\n");
13     Ck::IO::Manager *iomgr = (Ck::IO::Manager *)CkLocalBranch(mgr);
14     Ck::IO::Options opts;
15     opts.peStripe = 200;
16     opts.writeStripe = 1;
17     iomgr->prepareOutput("test", 10*n,
18                          CkCallback(CkIndex_Main::ready(NULL), thisProxy),
19                          CkCallback(CkIndex_Main::test_written(), thisProxy),
20                          opts);
21     CkPrintf("Main ran\n");
22   }
23
24   void ready(Ck::IO::FileReadyMsg *m) {
25     testers = CProxy_test::ckNew(m->token, n);
26     CkPrintf("Main saw file ready\n");
27   }
28
29   void test_written() {
30     CkPrintf("Main see write done\n");
31     // Read file and validate contents
32
33     CkExit();
34   }
35 };
36
37 struct test : public CBase_test {
38   test(Ck::IO::Token token) {
39     char out[11];
40     sprintf(out, "%9d\n", thisIndex);
41     ((Ck::IO::Manager *)CkLocalBranch(mgr))->write(token, out, 10, 10*thisIndex);
42   }
43   test(CkMigrateMessage *m) {}
44 };
45
46
47 #include "iotest.def.h"