Best Python code snippet using behave
param.py
Source:param.py
...45 return self.default46 def argmod(self):47 return ''48 @staticmethod49 def register_type(dtype, clazz):50 Param.mapping[dtype] = clazz51 @staticmethod52 def factory(node):53 dtype = node.attrib['type']54 if dtype not in Param.mapping:55 print('ERROR: type "{}" not found in mapping; valid types are: {}'.format(dtype, ', '.join('"%s"' % k for k in Param.mapping.keys())))56 return Param.mapping[dtype](node)57 def declaration(self):58 return '{} {}'.format(self.ctype(), self.name)59 def declaration_with_default(self):60 return self.declaration() + (' = {}'.format(self.cdefault()) if self.cdefault() else '')61class ParamInt(Param):62 def __init__(self, node):63 super(ParamInt, self).__init__(node)64 def htype(self):65 return 'number'66class ParamFloat(Param):67 def __init__(self, node):68 super(ParamFloat, self).__init__(node)69 def htype(self):70 return 'number'71class ParamDouble(Param):72 def __init__(self, node):73 super(ParamDouble, self).__init__(node)74 def htype(self):75 return 'number'76class ParamString(Param):77 def __init__(self, node):78 super(ParamString, self).__init__(node)79 self.ctype_base = 'std::string'80 def cdefault(self):81 if self.default is None: return None82 return '"%s"' % self.default.replace('\\','\\\\').replace('"','\\"')83 def hdefault(self):84 if self.default is None: return None85 return "'%s'" % self.default.replace('\\','\\\\').replace('"','\\"')86 87class ParamBool(Param):88 def __init__(self, node):89 super(ParamBool, self).__init__(node)90class ParamAny(Param):91 def __init__(self, node):92 super(ParamAny, self).__init__(node)93 94class ParamTable(Param):95 def __init__(self, node):96 super(ParamTable, self).__init__(node)97 self.itype = node.attrib.get('item-type', None)98 self.minsize = int(node.attrib.get('minsize', 0))99 self.maxsize = int(node.attrib['maxsize']) if 'maxsize' in node.attrib else None100 if 'size' in node.attrib:101 self.minsize = int(node.attrib['size'])102 self.maxsize = int(node.attrib['size'])103 if self.itype is None:104 self.write_in = False105 self.write_out = False106 def item_dummy(self):107 n = type('dummyNode', (object,), dict(tag='param', attrib={'name': 'dummy', 'type': self.itype}))108 return Param.factory(n)109 def ctype(self):110 if self.itype is not None:111 return 'std::vector<%s>' % self.item_dummy().ctype()112 else:113 return 'void *'114 def ctype_normalized(self):115 return self.item_dummy().ctype().replace('::', '__')116 def htype(self):117 return 'table' + ('_%d' % self.minsize if self.minsize else '')118 def cdefault(self):119 if self.default is not None:120 d = self.default121 d = 'boost::assign::list_of{}.convert_to_container<{} >()'.format(''.join(map(lambda x: '(%s)' % x.strip(), d.strip()[1:-1].split(','))), self.ctype())122 return d123class ParamStruct(Param):124 def __init__(self, node, name):125 super(ParamStruct, self).__init__(node)126 self.structname = name127 self.xoptional = False128 if self.default is not None:129 if self.default == '{}':130 self.xoptional = True131 else:132 raise ValueError('default value not supported in <struct>')133 def mandatory(self):134 return not self.xoptional135 def optional(self):136 return self.xoptional137 def cdefault(self):138 return None139 def argmod(self):140 return '&'141 142class Pbool(Param):143 def __init__(self, node):144 super(Pbool, self).__init__(node)145 def htype(self):146 if os.getenv('remoteApiDocLang')=='lua':147 return 'boolean'148 return 'bool'149class Pint(Param):150 def __init__(self, node):151 super(Pint, self).__init__(node)152 def htype(self):153 if os.getenv('remoteApiDocLang')=='lua':154 return 'number'155 if os.getenv('remoteApiDocLang')=='matlab':156 return 'number'157 if os.getenv('remoteApiDocLang')=='python':158 return 'number'159 return 'int'160class Plong(Param):161 def __init__(self, node):162 super(Plong, self).__init__(node)163 def htype(self):164 if os.getenv('remoteApiDocLang')=='lua':165 return 'number'166 if os.getenv('remoteApiDocLang')=='matlab':167 return 'number'168 if os.getenv('remoteApiDocLang')=='python':169 return 'number'170 return 'long'171class Pfloat(Param):172 def __init__(self, node):173 super(Pfloat, self).__init__(node)174 def htype(self):175 if os.getenv('remoteApiDocLang')=='lua':176 return 'number'177 if os.getenv('remoteApiDocLang')=='matlab':178 return 'number'179 if os.getenv('remoteApiDocLang')=='python':180 return 'number'181 return 'float'182class Pdouble(Param):183 def __init__(self, node):184 super(Pdouble, self).__init__(node)185 def htype(self):186 if os.getenv('remoteApiDocLang')=='lua':187 return 'number'188 if os.getenv('remoteApiDocLang')=='matlab':189 return 'number'190 if os.getenv('remoteApiDocLang')=='python':191 return 'number'192 return 'double'193class Pstring(Param):194 def __init__(self, node):195 super(Pstring, self).__init__(node)196 def htype(self):197 if os.getenv('remoteApiDocLang')=='cpp':198 return 'const char*'199 if os.getenv('remoteApiDocLang')=='java':200 return 'final String'201 return 'string'202 203class Pint_eval(Param):204 def __init__(self, node):205 super(Pint_eval, self).__init__(node)206 def htype(self):207 if os.getenv('remoteApiDocLang')=='cpp':208 return 'int/(const char*)'209 if os.getenv('remoteApiDocLang')=='java':210 return 'int/String'211 return 'number/string'212 213class Pmap(Param):214 def __init__(self, node):215 super(Pmap, self).__init__(node)216 def htype(self):217 return 'map'218 219class Pbytea(Param):220 def __init__(self, node):221 super(Pbytea, self).__init__(node)222 def htype(self):223 if os.getenv('remoteApiDocLang')=='java':224 return 'final byte[]'225 if os.getenv('remoteApiDocLang')=='lua':226 return 'string'227 if os.getenv('remoteApiDocLang')=='matlab':228 return 'byteArray'229 if os.getenv('remoteApiDocLang')=='python':230 return 'byteArray'231 return 'byte[]'232class Pinta(Param):233 def __init__(self, node):234 super(Pinta, self).__init__(node)235 def htype(self):236 if os.getenv('remoteApiDocLang')=='java':237 return 'final int[]'238 if os.getenv('remoteApiDocLang')=='lua':239 return 'table'240 if os.getenv('remoteApiDocLang')=='matlab':241 return 'array'242 if os.getenv('remoteApiDocLang')=='python':243 return 'list'244 return 'int[]'245class Pinta2(Param):246 def __init__(self, node):247 super(Pinta2, self).__init__(node)248 def htype(self):249 if os.getenv('remoteApiDocLang')=='java':250 return 'final int[]'251 if os.getenv('remoteApiDocLang')=='lua':252 return 'table'253 if os.getenv('remoteApiDocLang')=='matlab':254 return 'array'255 if os.getenv('remoteApiDocLang')=='python':256 return 'list'257 return 'int[2]'258class Pinta3(Param):259 def __init__(self, node):260 super(Pinta3, self).__init__(node)261 def htype(self):262 if os.getenv('remoteApiDocLang')=='java':263 return 'final int[]'264 if os.getenv('remoteApiDocLang')=='lua':265 return 'table'266 if os.getenv('remoteApiDocLang')=='matlab':267 return 'array'268 if os.getenv('remoteApiDocLang')=='python':269 return 'list'270 return 'int[3]'271class Pfloata(Param):272 def __init__(self, node):273 super(Pfloata, self).__init__(node)274 def htype(self):275 if os.getenv('remoteApiDocLang')=='java':276 return 'final float[]'277 if os.getenv('remoteApiDocLang')=='lua':278 return 'table'279 if os.getenv('remoteApiDocLang')=='matlab':280 return 'array'281 if os.getenv('remoteApiDocLang')=='python':282 return 'list'283 return 'float[]'284class Pfloata2(Param):285 def __init__(self, node):286 super(Pfloata2, self).__init__(node)287 def htype(self):288 if os.getenv('remoteApiDocLang')=='java':289 return 'final float[]'290 if os.getenv('remoteApiDocLang')=='lua':291 return 'table'292 if os.getenv('remoteApiDocLang')=='matlab':293 return 'array'294 if os.getenv('remoteApiDocLang')=='python':295 return 'list'296 return 'float[2]'297 298class Pfloata3(Param):299 def __init__(self, node):300 super(Pfloata3, self).__init__(node)301 def htype(self):302 if os.getenv('remoteApiDocLang')=='java':303 return 'final float[]'304 if os.getenv('remoteApiDocLang')=='lua':305 return 'table'306 if os.getenv('remoteApiDocLang')=='matlab':307 return 'array'308 if os.getenv('remoteApiDocLang')=='python':309 return 'list'310 return 'float[3]'311 312class Pfloata4(Param):313 def __init__(self, node):314 super(Pfloata4, self).__init__(node)315 def htype(self):316 if os.getenv('remoteApiDocLang')=='java':317 return 'final float[]'318 if os.getenv('remoteApiDocLang')=='lua':319 return 'table'320 if os.getenv('remoteApiDocLang')=='matlab':321 return 'array'322 if os.getenv('remoteApiDocLang')=='python':323 return 'list'324 return 'float[4]'325 326class Pfloata7(Param):327 def __init__(self, node):328 super(Pfloata7, self).__init__(node)329 def htype(self):330 if os.getenv('remoteApiDocLang')=='java':331 return 'final float[]'332 if os.getenv('remoteApiDocLang')=='lua':333 return 'table'334 if os.getenv('remoteApiDocLang')=='matlab':335 return 'array'336 if os.getenv('remoteApiDocLang')=='python':337 return 'list'338 return 'float[7]'339class Pfloata12(Param):340 def __init__(self, node):341 super(Pfloata12, self).__init__(node)342 def htype(self):343 if os.getenv('remoteApiDocLang')=='java':344 return 'final float[]'345 if os.getenv('remoteApiDocLang')=='lua':346 return 'table'347 if os.getenv('remoteApiDocLang')=='matlab':348 return 'array'349 if os.getenv('remoteApiDocLang')=='python':350 return 'list'351 return 'float[12]'352class Pdoublea(Param):353 def __init__(self, node):354 super(Pdoublea, self).__init__(node)355 def htype(self):356 if os.getenv('remoteApiDocLang')=='java':357 return 'final double[]'358 if os.getenv('remoteApiDocLang')=='lua':359 return 'table'360 if os.getenv('remoteApiDocLang')=='matlab':361 return 'array'362 if os.getenv('remoteApiDocLang')=='python':363 return 'list'364 return 'double[]'365class Pdoublea2(Param):366 def __init__(self, node):367 super(Pdoublea2, self).__init__(node)368 def htype(self):369 if os.getenv('remoteApiDocLang')=='java':370 return 'final double[]'371 if os.getenv('remoteApiDocLang')=='lua':372 return 'table'373 if os.getenv('remoteApiDocLang')=='matlab':374 return 'array'375 if os.getenv('remoteApiDocLang')=='python':376 return 'list'377 return 'double[2]'378 379class Pdoublea3(Param):380 def __init__(self, node):381 super(Pdoublea3, self).__init__(node)382 def htype(self):383 if os.getenv('remoteApiDocLang')=='java':384 return 'final double[]'385 if os.getenv('remoteApiDocLang')=='lua':386 return 'table'387 if os.getenv('remoteApiDocLang')=='matlab':388 return 'array'389 if os.getenv('remoteApiDocLang')=='python':390 return 'list'391 return 'double[3]'392 393class Pdoublea4(Param):394 def __init__(self, node):395 super(Pdoublea4, self).__init__(node)396 def htype(self):397 if os.getenv('remoteApiDocLang')=='java':398 return 'final double[]'399 if os.getenv('remoteApiDocLang')=='lua':400 return 'table'401 if os.getenv('remoteApiDocLang')=='matlab':402 return 'array'403 if os.getenv('remoteApiDocLang')=='python':404 return 'list'405 return 'double[4]'406 407class Pdoublea7(Param):408 def __init__(self, node):409 super(Pdoublea7, self).__init__(node)410 def htype(self):411 if os.getenv('remoteApiDocLang')=='java':412 return 'final double[]'413 if os.getenv('remoteApiDocLang')=='lua':414 return 'table'415 if os.getenv('remoteApiDocLang')=='matlab':416 return 'array'417 if os.getenv('remoteApiDocLang')=='python':418 return 'list'419 return 'double[7]'420class Pdoublea12(Param):421 def __init__(self, node):422 super(Pdoublea12, self).__init__(node)423 def htype(self):424 if os.getenv('remoteApiDocLang')=='java':425 return 'final double[]'426 if os.getenv('remoteApiDocLang')=='lua':427 return 'table'428 if os.getenv('remoteApiDocLang')=='matlab':429 return 'array'430 if os.getenv('remoteApiDocLang')=='python':431 return 'list'432 return 'double[12]'433class Pcallback(Param):434 def __init__(self, node):435 super(Pcallback, self).__init__(node)436 def htype(self):437 if os.getenv('remoteApiDocLang')=='cpp':438 return 'CB_FUNC'439 if os.getenv('remoteApiDocLang')=='java':440 return 'final Consumer<MessageUnpacker>'441 if os.getenv('remoteApiDocLang')=='lua':442 return 'callback'443 if os.getenv('remoteApiDocLang')=='matlab':444 return 'callback'445 if os.getenv('remoteApiDocLang')=='python':446 return 'callback'447 return 'callback'448 449class Ppacked_unpacked(Param):450 def __init__(self, node):451 super(Ppacked_unpacked, self).__init__(node)452 def htype(self):453 if os.getenv('remoteApiDocLang')=='java':454 return 'final byte[]'455 if os.getenv('remoteApiDocLang')=='lua':456 return 'anyType'457 if os.getenv('remoteApiDocLang')=='matlab':458 return 'anyType'459 if os.getenv('remoteApiDocLang')=='python':460 return 'anyType'461 return 'packed_unpacked'462 463 464class Pany(Param):465 def __init__(self, node):466 super(Pany, self).__init__(node)467 def htype(self):468 return '?'469 470#Param.register_type('anything', Param)471#Param.register_type('int', ParamInt)472#Param.register_type('float', ParamFloat)473#Param.register_type('double', ParamDouble)474#Param.register_type('string', ParamString)475#Param.register_type('bool', ParamBool)476Param.register_type('table', ParamTable)477Param.register_type('bool', Pbool)478Param.register_type('int', Pint)479Param.register_type('long', Plong)480Param.register_type('float', Pfloat)481Param.register_type('double', Pdouble)482Param.register_type('string', Pstring)483Param.register_type('int_eval', Pint_eval)484Param.register_type('byte[]', Pbytea)485Param.register_type('int[]', Pinta)486Param.register_type('float[]', Pfloata)487Param.register_type('double[]', Pdoublea)488Param.register_type('int[2]', Pinta2)489Param.register_type('float[2]', Pfloata2)490Param.register_type('double[2]', Pdoublea2)491Param.register_type('int[3]', Pinta3)492Param.register_type('float[3]', Pfloata3)493Param.register_type('double[3]', Pdoublea3)494Param.register_type('float[4]', Pfloata4)495Param.register_type('double[4]', Pdoublea4)496Param.register_type('float[7]', Pfloata7)497Param.register_type('double[7]', Pdoublea7)498Param.register_type('float[12]', Pfloata12)499Param.register_type('double[12]', Pdoublea12)500Param.register_type('map', ParamAny)501Param.register_type('callback', Pcallback)502Param.register_type('?', Pany)...
0f38d8.py
Source:0f38d8.py
1#!/usr/bin/python2# -*- coding: utf-8 -*-3# This program is free software: you can redistribute it and/or modify4# it under the terms of the GNU General Public License as published by5# the Free Software Foundation, either version 3 of the License, or6# (at your option) any later version.7#8# This program is distributed in the hope that it will be useful,9# but WITHOUT ANY WARRANTY; without even the implied warranty of10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11# GNU General Public License for more details.12#13# You should have received a copy of the GNU General Public License14# along with this program. If not, see <http://www.gnu.org/licenses/>15#16# @author : beaengine@gmail.com17from headers.BeaEnginePython import *18from nose.tools import *19class TestSuite:20 """21 Variable Blend Packed22 """23 def test(self):24 # F3 0F 38 D8 !(11):000:bbb25 # AESENCWIDE128KL m384, <XMM0-7>26 Buffer = bytes.fromhex('f30f38d800')27 myDisasm = Disasm(Buffer)28 length = myDisasm.read()29 assert_equal(myDisasm.length, len(Buffer))30 assert_equal(myDisasm.infos.Instruction.Opcode, 0xf38d8)31 assert_equal(myDisasm.infos.Instruction.Category, KL_INSTRUCTION)32 assert_equal(myDisasm.infos.Instruction.Mnemonic, b'aesencwide128kl')33 assert_equal(myDisasm.infos.Operand1.OpType, MEMORY_TYPE)34 assert_equal(myDisasm.infos.Operand1.OpSize, 384)35 assert_equal(myDisasm.infos.Operand1.AccessMode, READ)36 assert_equal(myDisasm.infos.Operand2.OpType, REGISTER_TYPE)37 assert_equal(myDisasm.infos.Operand2.Registers.xmm, REG0)38 assert_equal(myDisasm.infos.Operand2.OpSize, 128)39 assert_equal(myDisasm.infos.Operand2.AccessMode, WRITE)40 assert_equal(myDisasm.infos.Operand3.OpType, REGISTER_TYPE)41 assert_equal(myDisasm.infos.Operand3.Registers.xmm, REG1)42 assert_equal(myDisasm.infos.Operand3.OpSize, 128)43 assert_equal(myDisasm.infos.Operand3.AccessMode, WRITE)44 assert_equal(myDisasm.infos.Operand4.OpType, REGISTER_TYPE)45 assert_equal(myDisasm.infos.Operand4.Registers.xmm, REG2)46 assert_equal(myDisasm.infos.Operand4.OpSize, 128)47 assert_equal(myDisasm.infos.Operand4.AccessMode, WRITE)48 assert_equal(myDisasm.infos.Operand5.OpType, REGISTER_TYPE)49 assert_equal(myDisasm.infos.Operand5.Registers.xmm, REG3)50 assert_equal(myDisasm.infos.Operand5.OpSize, 128)51 assert_equal(myDisasm.infos.Operand5.AccessMode, WRITE)52 assert_equal(myDisasm.infos.Operand6.OpType, REGISTER_TYPE)53 assert_equal(myDisasm.infos.Operand6.Registers.xmm, REG4)54 assert_equal(myDisasm.infos.Operand6.OpSize, 128)55 assert_equal(myDisasm.infos.Operand6.AccessMode, WRITE)56 assert_equal(myDisasm.infos.Operand7.OpType, REGISTER_TYPE)57 assert_equal(myDisasm.infos.Operand7.Registers.xmm, REG5)58 assert_equal(myDisasm.infos.Operand7.OpSize, 128)59 assert_equal(myDisasm.infos.Operand7.AccessMode, WRITE)60 assert_equal(myDisasm.infos.Operand8.OpType, REGISTER_TYPE)61 assert_equal(myDisasm.infos.Operand8.Registers.xmm, REG6)62 assert_equal(myDisasm.infos.Operand8.OpSize, 128)63 assert_equal(myDisasm.infos.Operand8.AccessMode, WRITE)64 assert_equal(myDisasm.infos.Operand9.OpType, REGISTER_TYPE)65 assert_equal(myDisasm.infos.Operand9.Registers.xmm, REG7)66 assert_equal(myDisasm.infos.Operand9.OpSize, 128)67 assert_equal(myDisasm.infos.Operand9.AccessMode, WRITE)68 assert_equal(myDisasm.repr(), 'aesencwide128kl [rax]')69 # F3 0F 38 D8 !(11):001:bbb70 # AESDECWIDE128KL m384, <XMM0-7>71 Buffer = bytes.fromhex('f30f38d808')72 myDisasm = Disasm(Buffer)73 length = myDisasm.read()74 assert_equal(myDisasm.length, len(Buffer))75 assert_equal(myDisasm.infos.Instruction.Opcode, 0xf38d8)76 assert_equal(myDisasm.infos.Instruction.Category, KL_INSTRUCTION)77 assert_equal(myDisasm.infos.Instruction.Mnemonic, b'aesdecwide128kl')78 assert_equal(myDisasm.infos.Operand1.OpType, MEMORY_TYPE)79 assert_equal(myDisasm.infos.Operand1.OpSize, 384)80 assert_equal(myDisasm.infos.Operand1.AccessMode, READ)81 assert_equal(myDisasm.infos.Operand2.OpType, REGISTER_TYPE)82 assert_equal(myDisasm.infos.Operand2.Registers.xmm, REG0)83 assert_equal(myDisasm.infos.Operand2.OpSize, 128)84 assert_equal(myDisasm.infos.Operand2.AccessMode, WRITE)85 assert_equal(myDisasm.infos.Operand3.OpType, REGISTER_TYPE)86 assert_equal(myDisasm.infos.Operand3.Registers.xmm, REG1)87 assert_equal(myDisasm.infos.Operand3.OpSize, 128)88 assert_equal(myDisasm.infos.Operand3.AccessMode, WRITE)89 assert_equal(myDisasm.infos.Operand4.OpType, REGISTER_TYPE)90 assert_equal(myDisasm.infos.Operand4.Registers.xmm, REG2)91 assert_equal(myDisasm.infos.Operand4.OpSize, 128)92 assert_equal(myDisasm.infos.Operand4.AccessMode, WRITE)93 assert_equal(myDisasm.infos.Operand5.OpType, REGISTER_TYPE)94 assert_equal(myDisasm.infos.Operand5.Registers.xmm, REG3)95 assert_equal(myDisasm.infos.Operand5.OpSize, 128)96 assert_equal(myDisasm.infos.Operand5.AccessMode, WRITE)97 assert_equal(myDisasm.infos.Operand6.OpType, REGISTER_TYPE)98 assert_equal(myDisasm.infos.Operand6.Registers.xmm, REG4)99 assert_equal(myDisasm.infos.Operand6.OpSize, 128)100 assert_equal(myDisasm.infos.Operand6.AccessMode, WRITE)101 assert_equal(myDisasm.infos.Operand7.OpType, REGISTER_TYPE)102 assert_equal(myDisasm.infos.Operand7.Registers.xmm, REG5)103 assert_equal(myDisasm.infos.Operand7.OpSize, 128)104 assert_equal(myDisasm.infos.Operand7.AccessMode, WRITE)105 assert_equal(myDisasm.infos.Operand8.OpType, REGISTER_TYPE)106 assert_equal(myDisasm.infos.Operand8.Registers.xmm, REG6)107 assert_equal(myDisasm.infos.Operand8.OpSize, 128)108 assert_equal(myDisasm.infos.Operand8.AccessMode, WRITE)109 assert_equal(myDisasm.infos.Operand9.OpType, REGISTER_TYPE)110 assert_equal(myDisasm.infos.Operand9.Registers.xmm, REG7)111 assert_equal(myDisasm.infos.Operand9.OpSize, 128)112 assert_equal(myDisasm.infos.Operand9.AccessMode, WRITE)113 assert_equal(myDisasm.repr(), 'aesdecwide128kl [rax]')114 # F3 0F 38 D8 !(11):010:bbb115 # AESENCWIDE256KL m512, <XMM0-7>116 Buffer = bytes.fromhex('f30f38d810')117 myDisasm = Disasm(Buffer)118 length = myDisasm.read()119 assert_equal(myDisasm.length, len(Buffer))120 assert_equal(myDisasm.infos.Instruction.Opcode, 0xf38d8)121 assert_equal(myDisasm.infos.Instruction.Category, KL_INSTRUCTION)122 assert_equal(myDisasm.infos.Instruction.Mnemonic, b'aesencwide256kl')123 assert_equal(myDisasm.infos.Operand1.OpType, MEMORY_TYPE)124 assert_equal(myDisasm.infos.Operand1.OpSize, 512)125 assert_equal(myDisasm.infos.Operand1.AccessMode, READ)126 assert_equal(myDisasm.infos.Operand2.OpType, REGISTER_TYPE)127 assert_equal(myDisasm.infos.Operand2.Registers.xmm, REG0)128 assert_equal(myDisasm.infos.Operand2.OpSize, 128)129 assert_equal(myDisasm.infos.Operand2.AccessMode, WRITE)130 assert_equal(myDisasm.infos.Operand3.OpType, REGISTER_TYPE)131 assert_equal(myDisasm.infos.Operand3.Registers.xmm, REG1)132 assert_equal(myDisasm.infos.Operand3.OpSize, 128)133 assert_equal(myDisasm.infos.Operand3.AccessMode, WRITE)134 assert_equal(myDisasm.infos.Operand4.OpType, REGISTER_TYPE)135 assert_equal(myDisasm.infos.Operand4.Registers.xmm, REG2)136 assert_equal(myDisasm.infos.Operand4.OpSize, 128)137 assert_equal(myDisasm.infos.Operand4.AccessMode, WRITE)138 assert_equal(myDisasm.infos.Operand5.OpType, REGISTER_TYPE)139 assert_equal(myDisasm.infos.Operand5.Registers.xmm, REG3)140 assert_equal(myDisasm.infos.Operand5.OpSize, 128)141 assert_equal(myDisasm.infos.Operand5.AccessMode, WRITE)142 assert_equal(myDisasm.infos.Operand6.OpType, REGISTER_TYPE)143 assert_equal(myDisasm.infos.Operand6.Registers.xmm, REG4)144 assert_equal(myDisasm.infos.Operand6.OpSize, 128)145 assert_equal(myDisasm.infos.Operand6.AccessMode, WRITE)146 assert_equal(myDisasm.infos.Operand7.OpType, REGISTER_TYPE)147 assert_equal(myDisasm.infos.Operand7.Registers.xmm, REG5)148 assert_equal(myDisasm.infos.Operand7.OpSize, 128)149 assert_equal(myDisasm.infos.Operand7.AccessMode, WRITE)150 assert_equal(myDisasm.infos.Operand8.OpType, REGISTER_TYPE)151 assert_equal(myDisasm.infos.Operand8.Registers.xmm, REG6)152 assert_equal(myDisasm.infos.Operand8.OpSize, 128)153 assert_equal(myDisasm.infos.Operand8.AccessMode, WRITE)154 assert_equal(myDisasm.infos.Operand9.OpType, REGISTER_TYPE)155 assert_equal(myDisasm.infos.Operand9.Registers.xmm, REG7)156 assert_equal(myDisasm.infos.Operand9.OpSize, 128)157 assert_equal(myDisasm.infos.Operand9.AccessMode, WRITE)158 assert_equal(myDisasm.repr(), 'aesencwide256kl [rax]')159 # F3 0F 38 D8 !(11):011:bbb160 # AESDECWIDE256KL m512, <XMM0-7>161 Buffer = bytes.fromhex('f30f38d818')162 myDisasm = Disasm(Buffer)163 length = myDisasm.read()164 assert_equal(myDisasm.length, len(Buffer))165 assert_equal(myDisasm.infos.Instruction.Opcode, 0xf38d8)166 assert_equal(myDisasm.infos.Instruction.Category, KL_INSTRUCTION)167 assert_equal(myDisasm.infos.Instruction.Mnemonic, b'aesdecwide256kl')168 assert_equal(myDisasm.infos.Operand1.OpType, MEMORY_TYPE)169 assert_equal(myDisasm.infos.Operand1.OpSize, 512)170 assert_equal(myDisasm.infos.Operand1.AccessMode, READ)171 assert_equal(myDisasm.infos.Operand2.OpType, REGISTER_TYPE)172 assert_equal(myDisasm.infos.Operand2.Registers.xmm, REG0)173 assert_equal(myDisasm.infos.Operand2.OpSize, 128)174 assert_equal(myDisasm.infos.Operand2.AccessMode, WRITE)175 assert_equal(myDisasm.infos.Operand3.OpType, REGISTER_TYPE)176 assert_equal(myDisasm.infos.Operand3.Registers.xmm, REG1)177 assert_equal(myDisasm.infos.Operand3.OpSize, 128)178 assert_equal(myDisasm.infos.Operand3.AccessMode, WRITE)179 assert_equal(myDisasm.infos.Operand4.OpType, REGISTER_TYPE)180 assert_equal(myDisasm.infos.Operand4.Registers.xmm, REG2)181 assert_equal(myDisasm.infos.Operand4.OpSize, 128)182 assert_equal(myDisasm.infos.Operand4.AccessMode, WRITE)183 assert_equal(myDisasm.infos.Operand5.OpType, REGISTER_TYPE)184 assert_equal(myDisasm.infos.Operand5.Registers.xmm, REG3)185 assert_equal(myDisasm.infos.Operand5.OpSize, 128)186 assert_equal(myDisasm.infos.Operand5.AccessMode, WRITE)187 assert_equal(myDisasm.infos.Operand6.OpType, REGISTER_TYPE)188 assert_equal(myDisasm.infos.Operand6.Registers.xmm, REG4)189 assert_equal(myDisasm.infos.Operand6.OpSize, 128)190 assert_equal(myDisasm.infos.Operand6.AccessMode, WRITE)191 assert_equal(myDisasm.infos.Operand7.OpType, REGISTER_TYPE)192 assert_equal(myDisasm.infos.Operand7.Registers.xmm, REG5)193 assert_equal(myDisasm.infos.Operand7.OpSize, 128)194 assert_equal(myDisasm.infos.Operand7.AccessMode, WRITE)195 assert_equal(myDisasm.infos.Operand8.OpType, REGISTER_TYPE)196 assert_equal(myDisasm.infos.Operand8.Registers.xmm, REG6)197 assert_equal(myDisasm.infos.Operand8.OpSize, 128)198 assert_equal(myDisasm.infos.Operand8.AccessMode, WRITE)199 assert_equal(myDisasm.infos.Operand9.OpType, REGISTER_TYPE)200 assert_equal(myDisasm.infos.Operand9.Registers.xmm, REG7)201 assert_equal(myDisasm.infos.Operand9.OpSize, 128)202 assert_equal(myDisasm.infos.Operand9.AccessMode, WRITE)...
hb_sts_events.py
Source:hb_sts_events.py
...251 self.hid = hid252 self.packet = packet253 self.out_port = out_port254 255JsonEvent.register_type(TraceAsyncSwitchFlowExpiryBegin)256JsonEvent.register_type(TraceAsyncSwitchFlowExpiryEnd)257JsonEvent.register_type(TraceSwitchPacketHandleBegin)258JsonEvent.register_type(TraceSwitchPacketHandleEnd)259JsonEvent.register_type(TraceSwitchMessageRx)260JsonEvent.register_type(TraceSwitchMessageTx)261JsonEvent.register_type(TraceSwitchMessageHandleBegin)262JsonEvent.register_type(TraceSwitchMessageHandleEnd)263JsonEvent.register_type(TraceSwitchMessageSend)264JsonEvent.register_type(TraceSwitchPacketSend)265JsonEvent.register_type(TraceSwitchFlowTableRead)266JsonEvent.register_type(TraceSwitchFlowTableWrite)267JsonEvent.register_type(TraceSwitchFlowTableEntryExpiry)268JsonEvent.register_type(TraceSwitchBufferPut)269JsonEvent.register_type(TraceSwitchBufferGet)270JsonEvent.register_type(TraceSwitchPacketUpdateBegin)271JsonEvent.register_type(TraceSwitchPacketUpdateEnd)272JsonEvent.register_type(TraceHostEvent)273JsonEvent.register_type(TraceHostPacketHandleBegin)274JsonEvent.register_type(TraceHostPacketHandleEnd)275JsonEvent.register_type(TraceHostPacketSend)276JsonEvent.register_type(TraceSwitchBarrier)277JsonEvent.register_type(TraceSwitchPacketDrop)...
events.py
Source:events.py
...10 cls = types.get(type_id, Event)11 return cls(data, client)12# Event subclasses by type_id13types = {}14def register_type(event_type):15 """16 Registers an Event subclass for use with events.make().17 """18 type_id = event_type.type_id19 assert type_id not in types20 types.setdefault(type_id, event_type)21 return event_type22class Event(object):23 def __init__(self, data, client):24 self.logger = logger.getChild(type(self).__name__)25 assert data, "empty data passed to Event constructor"26 self.client = client27 self.data = data28 if hasattr(self, 'type_id'):...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!