xref: /aosp_15_r20/external/stressapptest/src/main.cc (revision 424fb153c814cbcb3e8904974796228774b3229a)
1*424fb153SAndroid Build Coastguard Worker // Copyright 2006 Google Inc. All Rights Reserved.
2*424fb153SAndroid Build Coastguard Worker 
3*424fb153SAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
4*424fb153SAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
5*424fb153SAndroid Build Coastguard Worker // You may obtain a copy of the License at
6*424fb153SAndroid Build Coastguard Worker 
7*424fb153SAndroid Build Coastguard Worker //      http://www.apache.org/licenses/LICENSE-2.0
8*424fb153SAndroid Build Coastguard Worker 
9*424fb153SAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
10*424fb153SAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
11*424fb153SAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*424fb153SAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
13*424fb153SAndroid Build Coastguard Worker // limitations under the License.
14*424fb153SAndroid Build Coastguard Worker 
15*424fb153SAndroid Build Coastguard Worker // sat.cc : a stress test for stressful testing
16*424fb153SAndroid Build Coastguard Worker 
17*424fb153SAndroid Build Coastguard Worker #include "sattypes.h"
18*424fb153SAndroid Build Coastguard Worker #include "sat.h"
19*424fb153SAndroid Build Coastguard Worker 
main(int argc,char ** argv)20*424fb153SAndroid Build Coastguard Worker int main(int argc, char **argv) {
21*424fb153SAndroid Build Coastguard Worker   Sat *sat = SatFactory();
22*424fb153SAndroid Build Coastguard Worker   if (sat == NULL) {
23*424fb153SAndroid Build Coastguard Worker     logprintf(0, "Process Error: failed to allocate Sat object\n");
24*424fb153SAndroid Build Coastguard Worker     return 255;
25*424fb153SAndroid Build Coastguard Worker   }
26*424fb153SAndroid Build Coastguard Worker 
27*424fb153SAndroid Build Coastguard Worker   if (!sat->ParseArgs(argc, argv)) {
28*424fb153SAndroid Build Coastguard Worker     logprintf(0, "Process Error: Sat::ParseArgs() failed\n");
29*424fb153SAndroid Build Coastguard Worker     sat->bad_status();
30*424fb153SAndroid Build Coastguard Worker   } else if (!sat->Initialize()) {
31*424fb153SAndroid Build Coastguard Worker     logprintf(0, "Process Error: Sat::Initialize() failed\n");
32*424fb153SAndroid Build Coastguard Worker     sat->bad_status();
33*424fb153SAndroid Build Coastguard Worker   } else if (!sat->Run()) {
34*424fb153SAndroid Build Coastguard Worker     logprintf(0, "Process Error: Sat::Run() failed\n");
35*424fb153SAndroid Build Coastguard Worker     sat->bad_status();
36*424fb153SAndroid Build Coastguard Worker   }
37*424fb153SAndroid Build Coastguard Worker   sat->PrintResults();
38*424fb153SAndroid Build Coastguard Worker   if (!sat->Cleanup()) {
39*424fb153SAndroid Build Coastguard Worker     logprintf(0, "Process Error: Sat::Cleanup() failed\n");
40*424fb153SAndroid Build Coastguard Worker     sat->bad_status();
41*424fb153SAndroid Build Coastguard Worker   }
42*424fb153SAndroid Build Coastguard Worker 
43*424fb153SAndroid Build Coastguard Worker   int retval;
44*424fb153SAndroid Build Coastguard Worker   if (sat->status() != 0) {
45*424fb153SAndroid Build Coastguard Worker     logprintf(0, "Process Error: Fatal issue encountered. See above logs for "
46*424fb153SAndroid Build Coastguard Worker               "details.\n");
47*424fb153SAndroid Build Coastguard Worker     retval = 1;
48*424fb153SAndroid Build Coastguard Worker   } else if (sat->errors() != 0) {
49*424fb153SAndroid Build Coastguard Worker     retval = 1;
50*424fb153SAndroid Build Coastguard Worker   } else {
51*424fb153SAndroid Build Coastguard Worker     retval = 0;
52*424fb153SAndroid Build Coastguard Worker   }
53*424fb153SAndroid Build Coastguard Worker 
54*424fb153SAndroid Build Coastguard Worker   delete sat;
55*424fb153SAndroid Build Coastguard Worker   return retval;
56*424fb153SAndroid Build Coastguard Worker }
57