Could you make this context manager (and maybe some of the other ones) actually verify the warning message, instead of just ignoring it? That way we can verify that the warning is actually issued. Something like this would work (see again https://docs.python.org/2/library/warnings.html#testing-warnings):

```python
with warnings.catch_warnings(record=True) as w:
    warnings.simplefilter('always')
    actual = conventions.decode_cf_datetime(num_times, units, calendar=calendar)
    self.assertEqual(len(w), 1)
    self.assertIn('Unable to decode time axis', str(w[0].message))
```