Imported Upstream version 1.7.0
[platform/core/ml/nnfw.git] / compiler / tfl-verify / src / Driver.cpp
1 /*
2  * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *    http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "VerifyFlatBuffers.h"
18
19 #include <iostream>
20 #include <memory>
21 #include <string>
22
23 int entry(int argc, char **argv)
24 {
25   if (argc != 2)
26   {
27     std::cerr << "ERROR: Failed to parse arguments" << std::endl;
28     std::cerr << std::endl;
29     std::cerr << "USAGE: " << argv[0] << " [tflite]" << std::endl;
30     return 255;
31   }
32   auto verifier = std::make_unique<VerifyFlatbuffers>();
33
34   std::string model_file = argv[argc - 1];
35
36   std::cout << "[ RUN       ] Check " << model_file << std::endl;
37
38   auto result = verifier->run(model_file);
39
40   if (result == 0)
41   {
42     std::cout << "[      PASS ] Check " << model_file << std::endl;
43   }
44   else
45   {
46     std::cout << "[      FAIL ] Check " << model_file << std::endl;
47   }
48
49   return result;
50 }