         [conn: Plug.Conn.build_conn()]
       end
 
-      # one-arity function name
-      setup_all :clean_up_tmp_directory
+  `setup_all` can return a keyword list, a map, or a tuple in the shape
+  of `{:ok, keyword() | map()}`, the keyword list or map will be merged
+  into the current context and will be available in all subsequent `setup_all`,
+  `setup`, and the `test` itself. For instance, the `conn` from the previous
+  example can be accessed as:
+
+      test "fetches current users", %{conn: conn} do
+        # ...
+      end
 
   """
   defmacro setup_all(block) do

  `setup_all/2` callbacks, as well as the `on_exit/2`, `start_supervised/2`
  and `stop_supervised/1` functions.

  The setup callbacks are defined via macros and each one can
  optionally receive a map with test state and metadata, usually
  referred to as `context`. The context to be used in the tests can be
  optionally extended by the setup callbacks by returning a properly
  structured value (see below).

  The `setup_all` callbacks are invoked only once per module, before any
  test is run. All `setup` callbacks are run before each test. No callback


  ## Examples

      # one-arity function name
      setup_all :clean_up_tmp_directory

      def clean_up_tmp_directory(_context) do
        # perform setup
        :ok
      end
