 
     use_heart? = Keyword.get(opts, :heart, false)
     use_slave? = Keyword.get(opts, :slave, false)
+    tab = Keyword.fetch!(opts, :table)
+    id = :ets.update_counter(tab, :counter, 1)
     # Get path for app's beam files
     project_path = Path.join([__DIR__, "fixtures", "#{app}"])
     ebin_path = Path.join([project_path, "_build", "dev", "lib", "#{app}", "ebin"])

      cond do
        not use_heart? and use_slave? ->
          # Start slave node for app
          {:ok, name} = :slave.start('127.0.0.1', app, inet_loader_args() ++ ' -boot #{boot_path}')
          # Make sure the code path is set
          #:rpc.call(name, :code, :add_paths, [code_path])
          name

        not use_heart? ->

      end) =~ "ok\n"
    end

    test "can restart node", %{table: tab} do
      use LanguageExtensions.While
      

      assert is_success(:ctrl_app, [table: tab, slave: false], fn peer ->
        :ok = :net_kernel.monitor_nodes(true)
        pid = :rpc.call(peer, GenServer, :whereis, [CtrlApp.Worker])
        assert is_pid(pid)
