cbtestlib documentation

EC2 Module

class cbtestlib.EC2.AWSAuthConnection(aws_access_key_id, aws_secret_access_key, is_secure=True, server='ec2.amazonaws.com', port=None)

Bases: object

Creates an authorized connection to EC2 containing wrappers for Query API calls.

Each API call has a matching method on this class to perform the appropriate E2 action.

@ivar verbose: Verbosity flag, defaults to false. If set to true, some debug information is printed.

allocate_address()

Makes an C{AllocateAddress} call.

associate_address(publicIp, instanceId)

Makes an C{AssociateAddress} call.

@param publicIp: Address to associate @param instanceId: Instance to associate address with

auth_revoke_impl(groupName, ipProtocol=None, fromPort=None, toPort=None, cidrIp=None, sourceSecurityGroupName=None, sourceSecurityGroupOwnerId=None)

Processes parameters for C{authorize} and C{revoke}.

@param groupName: Name of security group to modify.

@param ipProtocol: IP protocol in rule. Valid vlaues are C{‘tcp’}, C{‘udp’} and C{‘icmp’}.

@param fromPort: Bottom of IP port range in rule.

@param toPort: Top of IP port range in rule.

@param cidrIp: CIDR IP range in rule.

@param sourceSecurityGroupName: Security group name in rule.

@param sourceSecurityGroupOwnerId: User id of security group in rule.

authorize(*args, **kwargs)

Makes an C{AuthorizeSecurityGroupIngress} call.

L{authorize} and L{revoke} share parameter parsing code. See L{auth_revoke_impl} for parameters. Also, see API docs for details of valid parameter combinations.

confirm_product_instance(productCode, instanceId)

Makes a C{ConfirmProdcutInstance} call.

@param productCode: The product code to confirm

@param instanceId: The instance for which to confirm the product code.

create_keypair(keyName)

Makes a C{CreateKeypair} call.

@param keyName: Name for the new keypair.

create_securitygroup(groupName, groupDescription)

Makes a C{CreateSecurityGroup} call.

@param groupName: Name of group to create.

@param groupDescription: Brief description of security group.

delete_keypair(keyName)

Makes a C{DeleteKeypair} call.

@param keyName: Name of keypair to delete.

delete_securitygroup(groupName)

Makes a C{DeleteSecurityGroup} call.

@param groupName: Name of security group to delete.

deregister_image(imageId)

Makes a C{DeregisterImage} call.

@param imageId: The image id to deregister.

describe_addresses(publicIps=None)

Makes a C{DescribeAddresses} call.

@param publicIps: List of addresses to describe. If empty or omitted, all addresses will be described.

describe_availability_zones(zoneNames=None)

Makes a C{DescribeAvailabilityZones} call.

@param zoneNames: List of availability zones to describe. If empty or omitted, all availability zones will be described.

describe_image_attribute(imageId, attribute)

Makes a C{DescribeImageAttribute} call.

@param imageId: AMI to describe attribute of.

@param attribute: Name of attribute to describe.

describe_images(imageIds=None, owners=None, executableBy=None)

Makes a C{DescribeImages} call.

@param imageIds: List of images to describe. If empty or omitted, all images visible to the user are returned.

@param owners: List of users to filter returned images by owner. If empty or omitted, no filtering is done.

@param executableBy: List of users (or user groups) to filter returned images by execution permissions. If empty or omitted, no filtering is done.

describe_instances(instanceIds=[])

Makes a C{DescribeInstances} call.

@param instanceIds: List of instances to describe. If empty or omitted, all instances will be returned.

describe_keypairs(keyNames=None)

Makes a C{DescribeKeypairs} call.

@param keyNames: List of keypairs to describe. If empty or omitted, all keypairs are returned.

describe_securitygroups(groupNames=None)

Makes a C{DescribeSecurityGroups} call.

@param groupNames: List of security groups to describe. If empty or omitted, all security groups will be described.

disassociate_address(publicIp)

Makes a C{DisassociateAddress} call.

@param publicIp: Address to disassociate

encode(aws_secret_access_key, str, urlencode=True)
get_aws_auth_param(params, aws_secret_access_key)
get_console_output(instanceId)

Makes a C{GetConsoleOutput} call.

@param instanceId: Instance from which to get console output.

make_request(action, params, data='')
modify_image_attribute(imageId, attribute, operationType, **kwargs)

Makes a C{ModifyImageAttribute} call.

@param imageId: AMI to modify attribute of.

@param attribute: Name of attribute to modify.

@param operationType: Operation to perform on attribute.

@param kwargs: Values for the attribute operation, documented below.

@kwarg userIds: List of userIds (valid with C{‘launchPermission’} attribute.)

@kwarg userGroups: List of userGroups (valid with C{‘launchPermission’} attribute.)

pathlist(key, arr)

Converts a key and an array of values into AWS query param format.

reboot_instances(instanceIds)

Makes a C{RebootInstances} call.

@param instanceIds: List of instances to reboot.

register_image(imageLocation)

Makes a C{RegisterImage} call.

@param imageLocation: The location of the image manifest to register in S3.

release_address(publicIp)

Makes a C{ReleaseAddress} call.

@param publicIp: Address to release

reset_image_attribute(imageId, attribute)

Makes a C{ResetImageAttribute} call.

@param imageId: AMI to reset attribute of.

@param attribute: Name of attribute to reset.

revoke(*args, **kwargs)

Makes an C{RevokeSecurityGroupIngress} call.

L{authorize} and L{revoke} share parameter parsing code. See L{auth_revoke_impl} for parameters. Also, see API docs for details of valid parameter combinations.

run_instances(imageId, minCount=1, maxCount=1, keyName=None, groupIds=None, userData=None, base64Encode=True, addressingType=None, instanceType=None, availabilityZone=None, kernelId=None, ramdiskId=None, blockDeviceMapping=None)

Makes a C{RunInstances} call.

@param imageId: AMI id to launch instances of.

@param minCount: Minimum number of instances to launch. If EC2 cannot launch at least this many, the call will fail.

@param maxCount: Maximum number of instances to launch. EC2 will make a best-effort attempt to launch this many instances, but will not fail unless fewer than C{minCount} are available.

@param keyName: Name of keypair to launch instances with.

@param groupIds: List of security groups to launch instances in.

@param userData: String containing user data to inject into launched instances.

@param base64Encode: Specifies whether C{userData} string qshould be base64 encoded. Defaults to True.

@param addressingType: Specifies the address scheme to use for the instance. The supported (default) type is C{“public”}, or C{None} for the default. See the “Instance Addressing” section of the latest developer guide for more information.

@param availabilityZone: Specifies the availability zone to launch in.

@param kernelId: Kernel to launch the instances with.

@param ramdiskId: Ramdisk to launch the instances with.

@param blockDeviceMapping: Specifies the virtual block device mapping. This parameter is a list of two element lists or tuples. The first element is the virtual name and the second is the device name.

terminate_instances(instanceIds)

Makes a C{TerminateInstances} call.

@param instanceIds: List of instances to terminate.

class cbtestlib.EC2.AllocateAddressResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{AllocateAddress} API call.

parse()
class cbtestlib.EC2.AssociateAddressResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{AssociateAddress} API call.

parse()
class cbtestlib.EC2.AuthorizeSecurityGroupIngressResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{AuthorizeSecurityGroupIngress} API call.

parse()
class cbtestlib.EC2.ConfirmProductInstanceResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{ConfirmProductInstance} API call.

parse()
class cbtestlib.EC2.CreateKeyPairResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{CreateKeyPair} API call.

parse()
class cbtestlib.EC2.CreateSecurityGroupResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{CreateSecurityGroup} API call.

parse()
class cbtestlib.EC2.DeleteKeyPairResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DeleteKeyPair} API call.

parse()
class cbtestlib.EC2.DeleteSecurityGroupResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DeleteSecurityGroup} API call.

parse()
class cbtestlib.EC2.DeregisterImageResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DeregisterImage} API call.

parse()
class cbtestlib.EC2.DescribeAddressesResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DescribeAddresses} API call.

ELEMENT_XPATH = 'addressesSet/item'
parse()
class cbtestlib.EC2.DescribeAvailabilityZonesResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DescribeAvailabilityZones} API call.

ELEMENT_XPATH = 'availabilityZoneInfo/item'
parse()
class cbtestlib.EC2.DescribeImageAttributeResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DescribeImageAttribute} API call.

parse()
class cbtestlib.EC2.DescribeImagesResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DescribeImages} API call.

ELEMENT_XPATH = 'imagesSet/item'
parse()
translate_isPublic(isPublic)
class cbtestlib.EC2.DescribeInstancesResponse(http_response)

Bases: cbtestlib.EC2.InstanceSetResponse

Response parser class for C{DescribeInstances} API call.

ELEMENT_XPATH = 'reservationSet/item'
parse()
class cbtestlib.EC2.DescribeKeyPairsResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DescribeKeyPairs} API call.

ELEMENT_XPATH = 'keySet/item'
parse()
class cbtestlib.EC2.DescribeSecurityGroupsResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DescribeSecurityGroups} API call.

ELEMENT_XPATH = 'securityGroupInfo/item'
parse()
class cbtestlib.EC2.DisassociateAddressResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{DisassociateAddress} API call.

parse()
class cbtestlib.EC2.GetConsoleOutputResponse(http_response)

Bases: cbtestlib.EC2.Response

parse()
class cbtestlib.EC2.InstanceSetResponse(http_response)

Bases: cbtestlib.EC2.Response

Response containing instance set items

parseInstanceSet(root)

Parse a set of instanceSet/item nodes

class cbtestlib.EC2.ModifyImageAttributeResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{ModifyImageAttribute} API call.

parse()
class cbtestlib.EC2.RebootInstancesResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{RebootInstances} API call.

parse()
class cbtestlib.EC2.RegisterImageResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{RegisterImage} API call.

ELEMENT_XPATH = 'imageId'
parse()
class cbtestlib.EC2.ReleaseAddressResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{ReleaseAddress} API call.

parse()
class cbtestlib.EC2.ResetImageAttributeResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{ResetImageAttribute} API call.

parse()
class cbtestlib.EC2.Response(http_response)

Bases: object

Base class for XML response parsers.

This class does everything except the API-call dependent parsing, which is handled in the child classes below. Each child class should override the L{parse} method.

ERROR_XPATH = 'Errors/Error'
NAMESPACE = 'http://ec2.amazonaws.com/doc/2008-02-01/'
find(element, xpath)
findall(element, xpath)
findtext(element, xpath)
fixnone(strnone)
fixxpath(xpath)
parse()
parse_error()
class cbtestlib.EC2.RevokeSecurityGroupIngressResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{RevokeSecurityGroupIngress} API call.

parse()
class cbtestlib.EC2.RunInstancesResponse(http_response)

Bases: cbtestlib.EC2.InstanceSetResponse

Response parser class for C{RunInstances} API call.

parse()
class cbtestlib.EC2.TerminateInstancesResponse(http_response)

Bases: cbtestlib.EC2.Response

Response parser class for C{TerminateInstances} API call.

ELEMENT_XPATH = 'instancesSet/item'
parse()

cli_interface Module

class cbtestlib.cli_interface.CLIInterface(server, http_port=8091, username='Administrator', password='password', kind='json', debug=False, ssh=False, sshkey=None)

Bases: object

bucket_create(bucket_name, bucket_type, bucket_port, bucket_password='', bucket_ramsize=256, replica_count=1)
bucket_delete(bucket_name)
bucket_edit(bucket_name, bucket_type, bucket_port, bucket_password, bucket_ramsize, replica_count)
bucket_flush()
bucket_list()
cluster_init(c_username='Administrator', c_password='password', c_port=8091, c_ramsize=256)
execute_command(cmd)
execute_local(cmd)
execute_ssh(cmd)
failover(server_to_failover)
node_init(path)
rebalance()
rebalance_status()
rebalance_stop()
server_add(server_to_add, rebalance=False)
server_info()
server_list()
server_readd(server_to_readd)

crc32 Module

cbtestlib.crc32.crc32_hash(key)

exception Module

exception cbtestlib.exception.TimeoutException(value)

Bases: exceptions.Exception

load_runner Module

class cbtestlib.load_runner.FakeMemcachedClient(*args)

Bases: object

add(key, exp, flags, val)
delete(key)
get(key)
sasl_auth_plain(*args)
set(key, exp, flags, val)
class cbtestlib.load_runner.LoadRunner(load_info, dryrun=False)

Bases: object

dump()
pause()
query()
start()
stop()
verify()
wait(time_limit=None)
class cbtestlib.load_runner.LoadThread(load_info, server_index)

Bases: threading.Thread

get_data(index=None)
get_data_size(index=None)
get_get_key()
get_mutation_indexes(key)
get_mutation_key(index=None)
get_operation()
run()

logger Module

class cbtestlib.logger.Logger
static get_logger()
static start_logger(name)
static stop_logger()
cbtestlib.logger.new_logger(name)

mc_ascii_client Module

Ascii memcached test client.

class cbtestlib.mc_ascii_client.MemcachedAsciiClient(host='127.0.0.1', port=11211, timeout=30)

Bases: object

Simple ascii memcached client.

add(key, exp, flags, val)

Add a value in the memcached server iff it doesn’t already exist.

append(key, value, cas=0)
cas(key, exp, flags, oldVal, val)

CAS in a new value for the given key and comparison value.

close()
decr(key, amt=1, init=0, exp=0)

Decrement or create the named counter.

delete(key, cas=0)

Delete the value for a given key within the memcached server.

flush(timebomb=0)

Flush all storage in a memcached instance.

gat(key, exp)

Get the value for a given key and touch it within the memcached server.

get(key)

Get the value for a given key within the memcached server.

getMulti(keys)

Get values for any available keys in the given iterable. Returns a dict of matched keys to their values.

getl(key, exp=15)

Get the value for a given key within the memcached server.

incr(key, amt=1, init=0, exp=0)

Increment or create the named counter.

prepend(key, value, cas=0)
replace(key, exp, flags, val)

Replace a value in the memcached server iff it already exists.

set(key, exp, flags, val)

Set a value in the memcached server.

stats(sub='')

Get stats.

touch(key, exp)

Touch a key in the memcached server.

version()

Get the value for a given key within the memcached server.

exception cbtestlib.mc_ascii_client.MemcachedError(status, msg)

Bases: exceptions.Exception

Error raised when a command fails.

mc_bin_client Module

Binary memcached test client.

Copyright (c) 2007 Dustin Sallings <dustin@spy.net>

class cbtestlib.mc_bin_client.MemcachedClient(host='127.0.0.1', port=11211, timeout=30)

Bases: object

Simple memcached client.

add(key, exp, flags, val, vbucket=-1)

Add a value in the memcached server iff it doesn’t already exist.

append(key, value, cas=0, vbucket=-1)
bucket_select(name)
cas(key, exp, flags, oldVal, val, vbucket=-1)

CAS in a new value for the given key and comparison value.

close()
complete_onlineupdate()
decr(key, amt=1, init=0, exp=0, vbucket=-1)

Decrement or create the named counter.

delete(key, cas=0, vbucket=-1)

Delete the value for a given key within the memcached server.

delete_vbucket(vbucket)
deregister_tap_client(tap_name)

Deregister the TAP client with a given name.

evict_key(key, vbucket=-1)
flush(timebomb=0)

Flush all storage in a memcached instance.

gat(key, exp, vbucket=-1)

Get the value for a given key and touch it within the memcached server.

get(key, vbucket=-1)

Get the value for a given key within the memcached server.

getMeta(key)

Get the metadata for a given key within the memcached server.

getMulti(keys, vbucket=-1)

Get values for any available keys in the given iterable.

Returns a dict of matched keys to their values.

get_vbucket_state(vbucket)
getl(key, exp=15, vbucket=-1)

Get the value for a given key within the memcached server.

getr(key, vbucket=-1)

Get the value for a given key within the memcached server from a replica vbucket.

incr(key, amt=1, init=0, exp=0, vbucket=-1)

Increment or create the named counter.

noop()

Send a noop command.

observe(key, vbucket=-1)

Observe a key for persistence and replication.

prepend(key, value, cas=0, vbucket=-1)
reconnect()
replace(key, exp, flags, val, vbucket=-1)

Replace a value in the memcached server iff it already exists.

reset_replication_chain()

Reset the replication chain.

restore_complete()

Notify the server that we’re done restoring.

restore_file(filename)

Initiate restore of a given file.

revert_onlineupdate()
sasl_auth_cram_md5(user, password)

Start a plan auth session.

sasl_auth_plain(user, password, foruser='')

Perform plain auth.

sasl_auth_start(mech, data)

Start a sasl auth session.

sasl_mechanisms()

Get the supported SASL methods.

send_get(key, vbucket=-1)

sends a get message without parsing the response

send_set(key, exp, flags, val, vbucket=-1)

Set a value in the memcached server without handling the response

set(key, exp, flags, val, vbucket=-1)

Set a value in the memcached server.

setMulti(exp, flags, items, vbucket=-1)

Multi-set (using setq).

Give me (key, value) pairs.

set_flush_param(key, val)
set_param(key, val, type)
set_tap_param(key, val)
set_vbucket_state(vbucket, stateName)
start_onlineupdate()
start_persistence()
stats(sub='')

Get stats.

stop_persistence()
sync_mutation(keyspecs)
sync_persistence(keyspecs)
sync_replication(keyspecs, numReplicas=1)
sync_replication_and_persistence(keyspecs, numReplicas=1)
sync_replication_or_persistence(keyspecs, numReplicas=1)
touch(key, exp, vbucket=-1)

Touch a key in the memcached server.

vbucketId = 0
version()

Get the value for a given key within the memcached server.

exception cbtestlib.mc_bin_client.MemcachedError(status, msg)

Bases: exceptions.Exception

Error raised when a command fails.

cbtestlib.mc_bin_client.error_to_str(errno)

mc_bin_server Module

A memcached test server.

Copyright (c) 2007 Dustin Sallings <dustin@spy.net>

class cbtestlib.mc_bin_server.BaseBackend

Bases: object

Higher-level backend (processes commands and stuff).

CMDS = {0: 'handle_get', 1: 'handle_set', 2: 'handle_add', 3: 'handle_replace', 4: 'handle_delete', 5: 'handle_incr', 6: 'handle_decr', 7: 'handle_quit', 8: 'handle_flush', 9: 'handle_getq', 10: 'handle_noop', 11: 'handle_version', 34: 'handle_sasl_step', 14: 'handle_append', 15: 'handle_prepend', 32: 'handle_sasl_mechs', 33: 'handle_sasl_auth'}
handle_noop(cmd, hdrs, key, cas, data)

Handle a noop

handle_unknown(cmd, hdrs, key, cas, data)

invoked for any unknown command.

processCommand(cmd, keylen, vb, cas, data)

Entry point for command processing. Lower level protocol implementations deliver values here.

class cbtestlib.mc_bin_server.DictBackend

Bases: cbtestlib.mc_bin_server.BaseBackend

Sample backend implementation with a non-expiring dict.

handle_add(cmd, hdrs, key, cas, data)
handle_append(cmd, hdrs, key, cas, data)
handle_decr(cmd, hdrs, key, cas, data)
handle_delete(cmd, hdrs, key, cas, data)
handle_flush(cmd, hdrs, key, cas, data)
handle_get(cmd, hdrs, key, cas, data)
handle_getq(cmd, hdrs, key, cas, data)
handle_incr(cmd, hdrs, key, cas, data)
handle_prepend(cmd, hdrs, key, cas, data)
handle_replace(cmd, hdrs, key, cas, data)
handle_sasl_auth(cmd, hdrs, key, cas, data)
handle_sasl_mechs(cmd, hdrs, key, cas, data)
handle_sasl_step(cmd, hdrs, key, cas, data)
handle_set(cmd, hdrs, key, cas, data)
handle_version(cmd, hdrs, key, cas, data)
class cbtestlib.mc_bin_server.MemcachedBinaryChannel(channel, backend, wbuf='')

Bases: asyncore.dispatcher

A channel implementing the binary protocol for memcached.

BUFFER_SIZE = 4096
handle_close()
handle_read()
handle_write()
processCommand(cmd, keylen, vb, cas, data)
writable()
class cbtestlib.mc_bin_server.MemcachedServer(backend, handler, port=11210)

Bases: asyncore.dispatcher

A memcached server.

handle_accept()

memcacheConstants Module

Copyright (c) 2007 Dustin Sallings <dustin@spy.net>

results_helper Module

class cbtestlib.results_helper.ResultsHelper(server)

Bases: object

add_perf(data, log=None)
compare_perf(data, limit, same_keys, different_keys, result_key)

tap Module

TAP protocol client library.

Copyright (c) 2010 Dustin Sallings <dustin@spy.net>

class cbtestlib.tap.TapClient(servers, callback, opts={}, user=None, pswd=None)

Bases: object

class cbtestlib.tap.TapConnection(server, port, callback, clientId=None, opts={}, user=None, pswd=None)

Bases: cbtestlib.mc_bin_server.MemcachedBinaryChannel

create_socket(family, type)
handle_close()
handle_connect()
processCommand(cmd, klen, vb, extralen, cas, data)
class cbtestlib.tap.TapDescriptor(s)

Bases: object

id = None
port = 11211

testconstants Module

testrunner_common Module

class cbtestlib.testrunner_common.Config

Bases: object

class cbtestlib.testrunner_common.Server(host_port)

Bases: object

rest_str()
cbtestlib.testrunner_common.activate_vbucket(server, vbucket)
cbtestlib.testrunner_common.delete_vbucket(server, vbucket)
cbtestlib.testrunner_common.evict_items(server, vbucket, num_of_items)
cbtestlib.testrunner_common.failover(server, config)
cbtestlib.testrunner_common.generate_payload(pattern, size)
cbtestlib.testrunner_common.get_stat(server, stat, sub='')
cbtestlib.testrunner_common.initialize_membase_cluster(config)
cbtestlib.testrunner_common.kill_server(server)
cbtestlib.testrunner_common.rebalance(config)
cbtestlib.testrunner_common.restart_servers(config)
cbtestlib.testrunner_common.server_add(server, config)
cbtestlib.testrunner_common.server_to_replica_vb_map(server)
cbtestlib.testrunner_common.set_items(server, vbucket, num_of_items)
cbtestlib.testrunner_common.shutdown_server(server)
cbtestlib.testrunner_common.ssh(hosts, cmd)
cbtestlib.testrunner_common.start_server(server)
cbtestlib.testrunner_common.validate_items(server, vbucket, num_of_items)
cbtestlib.testrunner_common.vbucket_list(server)
cbtestlib.testrunner_common.verbose_print(str, verbose)
cbtestlib.testrunner_common.wait_on_persistence(server)
cbtestlib.testrunner_common.wait_on_replication(config)
cbtestlib.testrunner_common.wait_on_state(client, stat, state, sub='')
cbtestlib.testrunner_common.wait_on_warmup(server)

xunit Module

class cbtestlib.xunit.XUnitTestCase

Bases: object

class cbtestlib.xunit.XUnitTestCaseError

Bases: object

class cbtestlib.xunit.XUnitTestResult

Bases: object

add_test(name, time=0, errorType=None, errorMessage=None, status='pass', params='')
print_summary()
to_xml(suite)
write(prefix, params='')
class cbtestlib.xunit.XUnitTestSuite

Bases: object

add_test(name, time=0, errorType=None, errorMessage=None, status='pass', params='')