   describe "await/1" do
     test "exits on task throw", config do
       Process.flag(:trap_exit, true)
-      task = Task.Supervisor.async(config[:supervisor], fn -> throw :unknown end)
+      task = Task.Supervisor.async(config[:supervisor], fn -> throw(:unknown) end)
+
       assert {{{:nocatch, :unknown}, _}, {Task, :await, [^task, 5000]}} =
-             catch_exit(Task.await(task))
+               catch_exit(Task.await(task))
     end
 
     test "exits on task error", config do
       Process.flag(:trap_exit, true)
       task = Task.Supervisor.async(config[:supervisor], fn -> raise "oops" end)
-      assert {{%RuntimeError{}, _}, {Task, :await, [^task, 5000]}} =
-             catch_exit(Task.await(task))
+      assert {{%RuntimeError{}, _}, {Task, :await, [^task, 5000]}} = catch_exit(Task.await(task))
     end
 
     test "exits on task exit", config do
       Process.flag(:trap_exit, true)
-      task = Task.Supervisor.async(config[:supervisor], fn -> exit :unknown end)
-      assert {:unknown, {Task, :await, [^task, 5000]}} =
-             catch_exit(Task.await(task))
+      task = Task.Supervisor.async(config[:supervisor], fn -> exit(:unknown) end)
+      assert {:unknown, {Task, :await, [^task, 5000]}} = catch_exit(Task.await(task))
     end
   end
 

      Process.flag(:trap_exit, true)

      assert {{%RuntimeError{message: "bad"}, _stacktrace}, _mfa} =
        catch_exit fn _i -> raise "bad" end
                   |> Task.Supervisor.async_stream(1..4, &sleep_and_return_ancestor/1, @opts)
                   |> Stream.run()

      refute_received _

      assert {{:noproc, _stacktrace}, _mfa} =
        catch_exit fn _i -> :not_a_supervisor end
                   |> Task.Supervisor.async_stream(1..4, &sleep_and_return_ancestor/1, @opts)
                   |> Stream.run()

      refute_received _
    end


    # Assert the struct
    assert task.__struct__ == Task
    assert is_pid(task.pid)
    assert is_reference(task.ref)

    # Refute the link
    {:links, links} = Process.info(self(), :links)
