Flutter Engine
 
Loading...
Searching...
No Matches
main.cc File Reference

Go to the source code of this file.

Namespaces

namespace  impeller
 

Functions

 impeller::TEST (ValidationTest, IsFatal)
 
int main (int argc, char **argv)
 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 34 of file main.cc.

34 {
37 testing::InitGoogleTest(&argc, argv);
39
40 std::optional<std::string> working_dir;
41 for (const auto& option : cmd.options()) {
42 if (option.name == "working_dir") {
43 wordexp_t wordexp_result;
44 int code = wordexp(option.value.c_str(), &wordexp_result, 0);
45 FML_CHECK(code == 0);
46 FML_CHECK(wordexp_result.we_wordc != 0);
47 working_dir = wordexp_result.we_wordv[0];
48 wordfree(&wordexp_result);
49 }
50 }
51 if (!working_dir) {
52 std::cout << "required argument \"working_dir\" is missing." << std::endl
53 << std::endl;
54 print_usage();
55 return 1;
56 }
57
59 std::cout << "working directory: "
61 << std::endl;
62
63 int return_code = RUN_ALL_TESTS();
64 if (0 == return_code) {
67 }
68 return return_code;
69}
bool Write(WorkingDirectory *working_directory)
static GoldenDigest * Instance()
void SetPath(const std::string &path)
const std::string & GetPath() const
static WorkingDirectory * Instance()
#define FML_CHECK(condition)
Definition logging.h:104
char ** argv
Definition library.h:9
void InstallCrashHandler()
Definition backtrace.cc:126
CommandLine CommandLineFromPlatformOrArgcArgv(int argc, const char *const *argv)
void ImpellerValidationErrorsSetFatal(bool fatal)
Definition validation.cc:17

References argv, fml::CommandLineFromPlatformOrArgcArgv(), FML_CHECK, impeller::testing::WorkingDirectory::GetPath(), impeller::ImpellerValidationErrorsSetFatal(), fml::InstallCrashHandler(), impeller::testing::GoldenDigest::Instance(), impeller::testing::WorkingDirectory::Instance(), fml::CommandLine::options(), impeller::testing::WorkingDirectory::SetPath(), and impeller::testing::GoldenDigest::Write().