diff --git a/labgrid/remote/exporter.py b/labgrid/remote/exporter.py index d3b406503..8f12bd30b 100755 --- a/labgrid/remote/exporter.py +++ b/labgrid/remote/exporter.py @@ -594,9 +594,23 @@ def _get_params(self): exports["TFTPProvider"] = ProviderGenericExport -exports["NFSProvider"] = ProviderGenericExport exports["HTTPProvider"] = ProviderGenericExport +@attr.s +class NFSProviderExport(ResourceExport): + """Resource Export for an NFS provider""" + + def __attrs_post_init__(self): + super().__attrs_post_init__() + self.data["cls"] = "RemoteNFSProvider" + from ..resource import NFSProvider + + self.local = NFSProvider(target=None, name=None, **self.local_params) + + def _get_params(self): + return { "host": self.host } + +exports["NFSProvider"] = NFSProviderExport @attr.s class EthernetPortExport(ResourceExport): diff --git a/tests/test_export.py b/tests/test_export.py index f977322a8..c41328513 100644 --- a/tests/test_export.py +++ b/tests/test_export.py @@ -1,8 +1,8 @@ import pytest -from labgrid.resource import Resource, NetworkSerialPort, TFTPProvider -from labgrid.resource.remote import RemoteNetworkInterface, RemoteTFTPProvider -from labgrid.driver import Driver, SerialDriver, NetworkInterfaceDriver, TFTPProviderDriver +from labgrid.resource import Resource, NetworkSerialPort, TFTPProvider, NFSProvider +from labgrid.resource.remote import RemoteNetworkInterface, RemoteTFTPProvider, RemoteNFSProvider +from labgrid.driver import Driver, SerialDriver, NetworkInterfaceDriver, TFTPProviderDriver, NFSProviderDriver from labgrid.strategy import Strategy from labgrid.binding import StateError @@ -110,3 +110,22 @@ def test_export_remote_tftp_provider(target): 'LG__TFTP_INTERNAL': '/srv/tftp/testboard/', 'LG__TFTP_EXTERNAL': 'testboard/', } + +def test_export_nfs_provider(target): + NFSProvider(target, None) + NFSProviderDriver(target, "nfs") + + exported = target.export() + assert exported == { + 'LG__NFS_HOST': 'localhost', + } + + +def test_export_remote_nfs_provider(target): + RemoteNFSProvider(target, None, host='testhost') + NFSProviderDriver(target, "nfs") + + exported = target.export() + assert exported == { + 'LG__NFS_HOST': 'testhost', + }