¿Cuál de las dos oraciones es correcta? 1) Vas a haber esperado 1 mes antes de que tu novio finalmente te llame. 2) Tendrás que esperar 1 mes antes de que tu novio te llame.

1) es incorrecto. Es una mezcla incorrecta de tiempos verbales. Creo que la forma infinita de un verbo debe ser después de “to”.
2) es correcto (excepto que solo debería haber dos L en “will”, pero supongo que es un error tipográfico), y novio es solo una palabra.

También hay varias formas de expresar esto:

  • Habrás esperado 1 mes cuando tu novio te llame (aunque con una frase incómoda)
  • Habrás esperado 1 mes cuando tu novio finalmente te llame (aún extraño, pero un poco mejor)
  • Pasará 1 mes antes de que tu novio te llame (más conciso, mucho mejor)

Otras frases menos similares de la misma idea:

  • Tu novio no te llamará por otro mes.
  • Tu novio solo te llamará después de un mes.
  • Solo cuando haya pasado un mes, tu novio te llamará.
  • Tu novio no te llamará antes que en un mes.

Ambos son correctos, aunque significan cosas ligeramente diferentes, y ambos están redactados de manera incómoda.

No estoy de acuerdo con la gente que 1) es incorrecta. De hecho, es engorroso e incómodo, pero no es incorrecto. 2) es una mejor manera de decir lo mismo.

1) también podría ser menos engorroso: “Habrás esperado un mes para cuando tu novio finalmente te llame”. Esto es sutilmente diferente en connotación de 2).

2) está perfectamente bien.

1) está un poco mal.
No puedes mezclar presente perfecto progresivo con tiempo futuro simple.

La forma correcta y más cercana a 1) es ‘Tendrás que esperar 1 mes antes de que tu novio finalmente te llame’.

ps: Dependiendo de con quién se está comunicando (es decir, escuela vieja / escuela nueva o formal / informal), también se puede usar el formato utilizado en 1).