removed VnodeClient.icmd and VnodeClient.term

This commit is contained in:
Blake Harnden 2019-10-11 13:55:06 -07:00
parent b5d71bab82
commit 69772f993c
3 changed files with 2 additions and 85 deletions

View file

@ -4,8 +4,6 @@ over a control channel to the vnoded process running in a network namespace.
The control channel can be accessed via calls using the vcmd shell. The control channel can be accessed via calls using the vcmd shell.
""" """
import os
from core import constants, utils from core import constants, utils
@ -69,56 +67,6 @@ class VnodeClient(object):
args = self._cmd_args() + args args = self._cmd_args() + args
return utils.check_cmd(args, wait=wait) return utils.check_cmd(args, wait=wait)
def icmd(self, args):
"""
Execute an icmd against a node.
:param list[str]|str args: command arguments
:return: command result
:rtype: int
"""
args = utils.split_args(args)
return os.spawnlp(
os.P_WAIT,
constants.VCMD_BIN,
constants.VCMD_BIN,
"-c",
self.ctrlchnlname,
"--",
*args
)
def term(self, sh="/bin/sh"):
"""
Open a terminal on a node.
:param str sh: shell to open terminal with
:return: terminal command result
:rtype: int
"""
args = (
"xterm",
"-ut",
"-title",
self.name,
"-e",
constants.VCMD_BIN,
"-c",
self.ctrlchnlname,
"--",
sh,
)
if "SUDO_USER" in os.environ:
args = (
"su",
"-s",
"/bin/sh",
"-c",
"exec " + " ".join(map(lambda x: "'%s'" % x, args)),
os.environ["SUDO_USER"],
)
return os.spawnvp(os.P_NOWAIT, args[0], args)
def termcmdstring(self, sh="/bin/sh"): def termcmdstring(self, sh="/bin/sh"):
""" """
Create a terminal command string. Create a terminal command string.

View file

@ -40,10 +40,6 @@ def example(options):
# instantiate session # instantiate session
session.instantiate() session.instantiate()
# start a shell on the first node
node = session.get_node(2)
node.client.term("bash")
# shutdown session # shutdown session
input("press enter to exit...") input("press enter to exit...")
coreemu.shutdown() coreemu.shutdown()

View file

@ -3,7 +3,6 @@ Unit tests for testing basic CORE networks.
""" """
import os import os
import stat
import threading import threading
import pytest import pytest
@ -12,31 +11,12 @@ from core.emulator.emudata import NodeOptions
from core.emulator.enumerations import MessageFlags, NodeTypes from core.emulator.enumerations import MessageFlags, NodeTypes
from core.errors import CoreCommandError from core.errors import CoreCommandError
from core.location.mobility import BasicRangeModel, Ns2ScriptedMobility from core.location.mobility import BasicRangeModel, Ns2ScriptedMobility
from core.nodes.client import VnodeClient
_PATH = os.path.abspath(os.path.dirname(__file__)) _PATH = os.path.abspath(os.path.dirname(__file__))
_MOBILITY_FILE = os.path.join(_PATH, "mobility.scen") _MOBILITY_FILE = os.path.join(_PATH, "mobility.scen")
_WIRED = [NodeTypes.PEER_TO_PEER, NodeTypes.HUB, NodeTypes.SWITCH] _WIRED = [NodeTypes.PEER_TO_PEER, NodeTypes.HUB, NodeTypes.SWITCH]
def createclients(sessiondir, clientcls=VnodeClient, cmdchnlfilterfunc=None):
"""
Create clients
:param str sessiondir: session directory to create clients
:param class clientcls: class to create clients from
:param func cmdchnlfilterfunc: command channel filter function
:return: list of created clients
:rtype: list
"""
direntries = map(lambda x: os.path.join(sessiondir, x), os.listdir(sessiondir))
cmdchnls = list(filter(lambda x: stat.S_ISSOCK(os.stat(x).st_mode), direntries))
if cmdchnlfilterfunc:
cmdchnls = list(filter(cmdchnlfilterfunc, cmdchnls))
cmdchnls.sort()
return map(lambda x: clientcls(os.path.basename(x), x), cmdchnls)
def ping(from_node, to_node, ip_prefixes): def ping(from_node, to_node, ip_prefixes):
address = ip_prefixes.ip4_address(to_node) address = ip_prefixes.ip4_address(to_node)
try: try:
@ -106,15 +86,8 @@ class TestCore:
# check we are connected # check we are connected
assert client.connected() assert client.connected()
# check various command using vcmd module # validate command
command = ["ls"] assert client.check_cmd("echo hello") == "hello"
assert not client.icmd(command)
# check various command using command line
assert not client.icmd(command)
# check module methods
assert createclients(session.session_dir)
def test_netif(self, session, ip_prefixes): def test_netif(self, session, ip_prefixes):
""" """