Repository: holoviz/hvplot

Issue:
Run more tests on CI


I just realized that we haven't been running all our unit tests on CI. I think we should at least have one job that has `xarray, rasterio, geoviews, cartopy, dask, pandas, and streamz`

This will probably also help with our coverage. Subset from https://travis-ci.org/pyviz/hvplot/jobs/560028289:
```
Name                  Stmts   Miss  Cover
-----------------------------------------
hvplot/__init__.py      251    123    51%
hvplot/converter.py     900    537    40%
hvplot/util.py          193    156    19%
hvplot/utilities.py      28     22    21%
-----------------------------------------
TOTAL                  1372    838    39%
----------------------------------------------------------------------
Ran 74 tests in 1.296s
OK (SKIP=27)
```

These ones are failing locally for me on master:

```python-traceback
test_process_1d_xarray_dataarray_with_coords (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_1d_xarray_dataarray_with_coords_and_name (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_1d_xarray_dataarray_with_no_coords (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_2d_xarray_dataarray_with_coords_as_gridded (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_2d_xarray_dataarray_with_no_coords (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_2d_xarray_dataarray_with_no_coords_as_gridded (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_3d_xarray_dataset_with_coords (hvplot.tests.testutil.TestProcessXarray) ... ERROR
test_process_3d_xarray_dataset_with_coords_as_gridded (hvplot.tests.testutil.TestProcessXarray) ... ERROR

======================================================================
ERROR: test_process_1d_xarray_dataarray_with_coords (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 55, in test_process_1d_xarray_dataarray_with_coords
    data, x, y, by, groupby = process_xarray(data=da, **self.default_kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_1d_xarray_dataarray_with_coords_and_name (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 72, in test_process_1d_xarray_dataarray_with_coords_and_name
    data, x, y, by, groupby = process_xarray(data=da, **self.default_kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_1d_xarray_dataarray_with_no_coords (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 39, in test_process_1d_xarray_dataarray_with_no_coords
    data, x, y, by, groupby = process_xarray(data=da, **self.default_kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_2d_xarray_dataarray_with_coords_as_gridded (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 119, in test_process_2d_xarray_dataarray_with_coords_as_gridded
    data, x, y, by, groupby = process_xarray(data=da, **kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_2d_xarray_dataarray_with_no_coords (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 85, in test_process_2d_xarray_dataarray_with_no_coords
    data, x, y, by, groupby = process_xarray(data=da, **self.default_kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_2d_xarray_dataarray_with_no_coords_as_gridded (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 100, in test_process_2d_xarray_dataarray_with_no_coords_as_gridded
    data, x, y, by, groupby = process_xarray(data=da, **kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_3d_xarray_dataset_with_coords (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 130, in test_process_3d_xarray_dataset_with_coords
    data, x, y, by, groupby = process_xarray(data=self.ds, **self.default_kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

======================================================================
ERROR: test_process_3d_xarray_dataset_with_coords_as_gridded (hvplot.tests.testutil.TestProcessXarray)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jsignell/hvplot/hvplot/tests/testutil.py", line 143, in test_process_3d_xarray_dataset_with_coords_as_gridded
    data, x, y, by, groupby = process_xarray(data=self.ds, **kwargs)
TypeError: process_xarray() missing 1 required positional argument: 'other_dims'

----------------------------------------------------------------------
Ran 80 tests in 8.333s

FAILED (SKIP=10, errors=8)
```


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -139,6 +139,7 @@ def package_assets(example_path):
     'dask',
     'datashader >=0.6.5',
     'notebook >=5.4',
+    'rasterio',
     's3fs',
     'scipy',
     'pillow',
@@ -153,7 +154,7 @@ def package_assets(example_path):
         'flake8',
         'parameterized',
         'pytest',
-        'nbsmoke >=0.2.0'
+        'nbsmoke >=0.2.0',
     ],
     'examples': _examples_extra,
     'doc': _examples_extra + [
@@ -224,4 +225,3 @@ def package_assets(example_path):
 
     if os.path.isdir(example_path):
         shutil.rmtree(example_path)
-


Test patch:
diff --git a/hvplot/tests/testgeo.py b/hvplot/tests/testgeo.py
--- a/hvplot/tests/testgeo.py
+++ b/hvplot/tests/testgeo.py
@@ -20,29 +20,29 @@ def assertCRS(self, plot, proj='utm'):
         assert plot.crs.proj4_params['proj'] == proj
 
     def test_plot_with_crs_as_object(self):
-        plot = self.da.hvplot('x', 'y', crs=self.crs)
+        plot = self.da.hvplot.image('x', 'y', crs=self.crs)
         self.assertCRS(plot)
 
     def test_plot_with_crs_as_proj_string(self):
-        plot = self.da.hvplot('x', 'y', crs=self.da.crs)
+        plot = self.da.hvplot.image('x', 'y', crs=self.da.crs)
         self.assertCRS(plot)
 
     def test_plot_with_geo_as_true_crs_undefined(self):
-        plot = self.da.hvplot('x', 'y', geo=True)
+        plot = self.da.hvplot.image('x', 'y', geo=True)
         self.assertCRS(plot)
 
     def test_plot_with_crs_as_attr_str(self):
         da = self.da.copy()
         da.attrs = {'bar': self.crs}
-        plot = da.hvplot('x', 'y', crs='bar')
+        plot = da.hvplot.image('x', 'y', crs='bar')
         self.assertCRS(plot)
 
     def test_plot_with_crs_as_nonexistent_attr_str(self):
         with self.assertRaisesRegex(ValueError, "'foo' must be"):
-            self.da.hvplot('x', 'y', crs='foo')
+            self.da.hvplot.image('x', 'y', crs='foo')
 
     def test_plot_with_geo_as_true_crs_no_crs_on_data_returns_default(self):
         da = self.da.copy()
         da.attrs = {'bar': self.crs}
-        plot = da.hvplot('x', 'y', geo=True)
+        plot = da.hvplot.image('x', 'y', geo=True)
         self.assertCRS(plot, 'eqc')
diff --git a/hvplot/tests/testutil.py b/hvplot/tests/testutil.py
--- a/hvplot/tests/testutil.py
+++ b/hvplot/tests/testutil.py
@@ -25,7 +25,8 @@ def setUp(self):
             'groupby': None,
             'y': None,
             'x': None,
-            'by': None
+            'by': None,
+            'other_dims': [],
         }
         self.ds = xr.tutorial.open_dataset('air_temperature')