# Path: sampletester/testenv.py
# class Base:
#   def __init__(self, name='#Base', description=''):
#   def name(self):
#   def setup(self):
#   def teardown(self):
#   def get_call(self, *args, **kwargs):
#   def get_symbol(self, symbol):
#   def get_testcase_settings(self):
# def process_args(*args, **kwargs):
# def quote(s: str):


import re
import os
from sampletester import testenv
      positional args.
    kwargs: Named arguments. Note that arguments whose names begin with an
      underscore (`_`) are treated specially as "positional kw" args: they are
        sorted, and then their values only are insertedas positional arguments
        before the normal positional arguments.
  """
  all_args = list(all_args)
  args = all_args[1:]
  full = all_args[0]
  service = None
  version = None
  rpc = None
  sample = None

  # parse the call into parts
  call_parts = full.split(':')
  if len(call_parts) > 2:
    raise ValueError('cannot parse call "{}"'.format(full))

  if len(call_parts) == 2:
    # Service[.Subservice ...].Version.RPC:sample
    sample = call_parts[1]
    rpc_parts = call_parts[0].split('.')
    if len(rpc_parts) > 0:
      rpc = rpc_parts.pop()
    if len(rpc_parts) > 0:
      version = rpc_parts.pop()
    if len(rpc_parts) > 0:
      service = '.'.join(rpc_parts)


# Path: sampletester/testenv.py
# class Base:
#   def __init__(self, name='#Base', description=''):
#   def name(self):
#   def setup(self):
#   def teardown(self):
#   def get_call(self, *args, **kwargs):
#   def get_symbol(self, symbol):
#   def get_testcase_settings(self):
# def process_args(*args, **kwargs):
# def quote(s: str):


# Path: sampletester/convention/cloud/cloud.py
import re
import os
from sampletester import testenv

      positional args.
    kwargs: Named arguments. Note that arguments whose names begin with an
      underscore (`_`) are treated specially as "positional kw" args: they are
        sorted, and then their values only are insertedas positional arguments
        before the normal positional arguments.
  """
  all_args = list(all_args)
  args = all_args[1:]
  full = all_args[0]
  service = None
  version = None
  rpc = None
  sample = None

  # parse the call into parts
  call_parts = full.split(':')
  if len(call_parts) > 2:
    raise ValueError('cannot parse call "{}"'.format(full))

  if len(call_parts) == 2:
    # Service[.Subservice ...].Version.RPC:sample
    sample = call_parts[1]
    rpc_parts = call_parts[0].split('.')
    if len(rpc_parts) > 0:
      rpc = rpc_parts.pop()
    if len(rpc_parts) > 0:
      version = rpc_parts.pop()
    if len(rpc_parts) > 0:
      service = '.'.join(rpc_parts)


  full_call, cli_args = testenv.process_args(*all_args, **kwargs)