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
void BrowserChildProcessCrashed(
      const content::ChildProcessData& data, int exit_code) override;
  void BrowserChildProcessKilled(
      const content::ChildProcessData& data, int exit_code) override;
 private:
  void SetAppPath(const base::FilePath& app_path);
  void ChildProcessLaunched(int process_type, base::ProcessHandle handle);
  void ChildProcessDisconnected(base::ProcessId pid);
  
  base::FilePath GetPath(mate::Arguments* args, const std::string& name);
  void SetPath(mate::Arguments* args,
               const std::string& name,
               const base::FilePath& path);
  void SetDesktopName(const std::string& desktop_name);
  std::string GetLocale();
  bool MakeSingleInstance(
      const ProcessSingleton::NotificationCallback& callback);
  void ReleaseSingleInstance();
  bool Relaunch(mate::Arguments* args);
  void DisableHardwareAcceleration(mate::Arguments* args);
  void DisableDomainBlockingFor3DAPIs(mate::Arguments* args);
  bool IsAccessibilitySupportEnabled();
  void SetAccessibilitySupportEnabled(bool enabled);
  Browser::LoginItemSettings GetLoginItemSettings(mate::Arguments* args);
#if defined(USE_NSS_CERTS)
  void ImportCertificate(const base::DictionaryValue& options,
                         const net::CompletionCallback& callback);
#endif
  void GetFileIcon(const base::FilePath& path,
                   mate::Arguments* args);