In https://github.com/electron/electron/commit/7613afe6d70eadd7446db921918dca086cd324c0 I had to disable the check that validates that the constructor is called on the right thread, because the check fails when the tests run.

Let's make sure the check doesn't fail and re-enable it. Or refactor so that the thread affinity is not required and remove the check.
atom/browser/api/atom_api_app.h
std::vector<mate::Dictionary> GetAppMetrics(v8::Isolate* isolate);
  v8::Local<v8::Value> GetGPUFeatureStatus(v8::Isolate* isolate);
  void EnableMixedSandbox(mate::Arguments* args);
#if defined(OS_MACOSX)
  bool MoveToApplicationsFolder(mate::Arguments* args);
  bool IsInApplicationsFolder();
#endif
#if defined(OS_WIN)
  
  v8::Local<v8::Value> GetJumpListSettings();
  
  JumpListResult SetJumpList(v8::Local<v8::Value> val, mate::Arguments* args);
#endif  
  std::unique_ptr<ProcessSingleton> process_singleton_;
#if defined(USE_NSS_CERTS)
  std::unique_ptr<CertificateManagerModel> certificate_manager_model_;
#endif
  
  base::CancelableTaskTracker cancelable_task_tracker_;
  base::FilePath app_path_;
  using ProcessMetricMap =
      std::unordered_map<base::ProcessId,
                         std::unique_ptr<atom::ProcessMetric>>;
  ProcessMetricMap app_metrics_;
  DISALLOW_COPY_AND_ASSIGN(App);
};
}  
}  
#endif