Exemplo n.º 1
0
def mpsetup(request):
    """
    Initial setup. Mainly clear out everything from FS except "boot.py" and "port_config.py"

    :param request:     Request object
    """

    if not request.config.getoption("--nosetup"):

        fe = MpFileExplorer(request.config.getoption("--testcon"))
        fe.puts(
            "pytest.py", """
def rm(path):
    import os
    files = os.listdir(path)
    for f in files:
        if f not in ['boot.py', 'port_config.py']:
            try:
                os.remove(path + '/' +  f)
            except:
                try:
                    os.rmdir(path + '/' +  f)
                except:
                    rm(path + '/' + f)
""")

        fe.exec_("import pytest")
        fe.exec_("pytest.rm(os.getcwd())")
Exemplo n.º 2
0
    def __connect(self, port):

        try:
            self.__disconnect()
            if (port is None):
                port = self.open_args
            if self.reset:
                print("Hard resetting device ...")
            if self.caching:
                self.fe = MpFileExplorerCaching(port, self.reset)
            else:
                self.fe = MpFileExplorer(port, self.reset)
            print("Connected to %s" % self.fe.sysname)
            self.__set_prompt_path()
        except PyboardError as e:
            logging.error(e)
            self.__error(str(e))
        except ConError as e:
            logging.error(e)
            self.__error("Failed to open: %s" % port)
        except AttributeError as e:
            logging.error(e)
            self.__error("Failed to open: %s" % port)

        if self.__is_open() == False:
            time.sleep(3)
            self.__connect(None)
Exemplo n.º 3
0
 def _connect(self, num_connection_retries=3):
     """
     Connect to the antenny device, update the FileExplorer.
     """
     for retry_count in range(num_connection_retries):
         try:
             self._file_explorer = MpFileExplorer(
                 f'ser:{self._serial_path}')
             break
         except:
             LOG.warning(
                 f"Retrying to connect to the ESP32 device, attempt "
                 f"{retry_count}/{num_connection_retries}")
Exemplo n.º 4
0
    def __connect(self, port):

        try:
            self.__disconnect()

            if self.reset:
                print("Hard resetting device ...")
            if self.caching:
                self.fe = MpFileExplorerCaching(port, self.reset)
            else:
                self.fe = MpFileExplorer(port, self.reset)
            print("Connected to %s" % self.fe.sysname)
        except PyboardError as e:
            logging.error(e)
            self.__error(str(e))
        except ConError as e:
            logging.error(e)
            self.__error("Failed to open: %s" % port)
        except AttributeError as e:
            logging.error(e)
            self.__error("Failed to open: %s" % port)
Exemplo n.º 5
0
def mpfexp(request):
    """
    Fixture providing connected mMpFileExplorer instance

    :param request:     Request object
    :return:            MpFileExplorer instance
    """

    global _mpfexp_inst

    def teardown():
        _mpfexp_inst.close()

    if request.config.getoption("--caching"):
        _mpfexp_inst = MpFileExplorerCaching(request.config.getoption("--testcon"))
    else:
        _mpfexp_inst = MpFileExplorer(request.config.getoption("--testcon"))

    request.addfinalizer(teardown)

    return _mpfexp_inst