unreachable (dead) code in Trainer.test() and/or ambiguous behaviour
🐛 Bug
When passing a datamodule and a checkpoint to Trainer.test(), the code at https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pytorch_lightning/trainer/trainer.py#L735 is effectively unreachable. This is because, when model=None, the code in https://github.com/PyTorchLightning/pytorch-lightning/blob/master/pytorch_lightning/trainer/connectors/data_connector.py#L114 raises:

AttributeError: 'NoneType' object has no attribute 'train_dataloader'

Note that this only happens on a "fresh" instance of the Trainer (i.e. one where fit() hasn't been called).
If we also pass a model, it will instead ignore the checkpoint provided and use the current model weights.
Please reproduce using my copy of the notebook
In the cell with test_stuff(tmpdir, checkpoint_path), replace the last two lines (trainer.test()) to show the two behaviors.
Expected behavior
Since I suspect that the two scenarios I mentioned are "illegal" (passing both a checkpoint and a model, passing only a checkpoint to a fresh instance of a trainer), I would expect a warning to be issued (or even better, a MisconfigurationException), suggesting the user to use ModelModule.load_from_checkpoint() for the desired outcome.
Environment
Note: Bugs with code are solved faster ! Colab Notebook should be made public ! ✅

Colab Notebook: Please copy and paste the output from our environment collection script (or fill out the checklist below manually).

* CUDA:
	- GPU:
		- Tesla T4
	- available:         True
	- version:           10.1
* Packages:
	- numpy:             1.18.5
	- pyTorch_debug:     True
	- pyTorch_version:   1.7.0+cu101
	- pytorch-lightning: 1.0.0
	- tqdm:              4.41.1
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- 
	- processor:         x86_64
	- python:            3.6.9
	- version:           #1 SMP Thu Jul 23 08:00:38 PDT 2020

Additional context
Thanks for this amazing library :)