Best Python code snippet using yandex-tank
test_naive_cpp.py
Source:test_naive_cpp.py  
...15import unittest16class TestNaiveCpp(unittest.TestCase):17    def test_parse_line_arch(self):18        naive_cpp = NaiveCpp()19        naive_cpp.parse_line('/* a comment */')20        self.assertFalse(naive_cpp.in_aarch64_specific_code())21        naive_cpp.parse_line('#ifdef __aarch64__')22        self.assertTrue(naive_cpp.in_aarch64_specific_code())23        self.assertFalse(naive_cpp.in_other_arch_specific_code())24        naive_cpp.parse_line('asm("")')25        self.assertTrue(naive_cpp.in_aarch64_specific_code())26        self.assertFalse(naive_cpp.in_other_arch_specific_code())27        naive_cpp.parse_line('#else')28        self.assertFalse(naive_cpp.in_aarch64_specific_code())29        self.assertFalse(naive_cpp.in_other_arch_specific_code())30        naive_cpp.parse_line('asm("")')31        self.assertFalse(naive_cpp.in_aarch64_specific_code())32        self.assertFalse(naive_cpp.in_other_arch_specific_code())33        naive_cpp.parse_line('#endif')34        self.assertFalse(naive_cpp.in_aarch64_specific_code())35        naive_cpp.parse_line('#ifdef otherarch')36        self.assertFalse(naive_cpp.in_aarch64_specific_code())37        self.assertTrue(naive_cpp.in_other_arch_specific_code())38        naive_cpp.parse_line('asm("")')39        self.assertFalse(naive_cpp.in_aarch64_specific_code())40        self.assertTrue(naive_cpp.in_other_arch_specific_code())41        naive_cpp.parse_line('#else')42        self.assertFalse(naive_cpp.in_aarch64_specific_code())43        self.assertFalse(naive_cpp.in_other_arch_specific_code())44        naive_cpp.parse_line('asm("")')45        self.assertFalse(naive_cpp.in_aarch64_specific_code())46        self.assertFalse(naive_cpp.in_other_arch_specific_code())47        naive_cpp.parse_line('#endif')48        self.assertFalse(naive_cpp.in_aarch64_specific_code())49        self.assertFalse(naive_cpp.in_other_arch_specific_code())50        naive_cpp.parse_line('#if defined(__aarch64__)')51        self.assertTrue(naive_cpp.in_aarch64_specific_code())52        self.assertFalse(naive_cpp.in_other_arch_specific_code())53        naive_cpp.parse_line('asm("")')54        self.assertTrue(naive_cpp.in_aarch64_specific_code())55        self.assertFalse(naive_cpp.in_other_arch_specific_code())56        naive_cpp.parse_line('#else')57        self.assertFalse(naive_cpp.in_aarch64_specific_code())58        self.assertFalse(naive_cpp.in_other_arch_specific_code())59        naive_cpp.parse_line('asm("")')60        self.assertFalse(naive_cpp.in_aarch64_specific_code())61        self.assertFalse(naive_cpp.in_other_arch_specific_code())62        naive_cpp.parse_line('#endif')63        self.assertFalse(naive_cpp.in_aarch64_specific_code())64        self.assertFalse(naive_cpp.in_other_arch_specific_code())65        naive_cpp.parse_line('#if defined(otherarch)')66        self.assertFalse(naive_cpp.in_aarch64_specific_code())67        self.assertTrue(naive_cpp.in_other_arch_specific_code())68        naive_cpp.parse_line('asm("")')69        self.assertFalse(naive_cpp.in_aarch64_specific_code())70        self.assertTrue(naive_cpp.in_other_arch_specific_code())71        naive_cpp.parse_line('#else')72        self.assertFalse(naive_cpp.in_aarch64_specific_code())73        self.assertFalse(naive_cpp.in_other_arch_specific_code())74        naive_cpp.parse_line('asm("")')75        self.assertFalse(naive_cpp.in_aarch64_specific_code())76        self.assertFalse(naive_cpp.in_other_arch_specific_code())77        naive_cpp.parse_line('#endif')78        self.assertFalse(naive_cpp.in_aarch64_specific_code())79        self.assertFalse(naive_cpp.in_other_arch_specific_code())80        naive_cpp.parse_line('#ifdef __aarch64__')81        self.assertTrue(naive_cpp.in_aarch64_specific_code())82        self.assertFalse(naive_cpp.in_other_arch_specific_code())83        naive_cpp.parse_line('#ifdef foo')84        self.assertTrue(naive_cpp.in_aarch64_specific_code())85        self.assertFalse(naive_cpp.in_other_arch_specific_code())86        naive_cpp.parse_line('#endif')87        self.assertTrue(naive_cpp.in_aarch64_specific_code())88        self.assertFalse(naive_cpp.in_other_arch_specific_code())89        naive_cpp.parse_line('#endif')90        self.assertFalse(naive_cpp.in_aarch64_specific_code())91        self.assertFalse(naive_cpp.in_other_arch_specific_code())92        naive_cpp.parse_line('#ifdef foo')93        self.assertFalse(naive_cpp.in_aarch64_specific_code())94        self.assertFalse(naive_cpp.in_other_arch_specific_code())95        naive_cpp.parse_line('#ifdef __aarch64__')96        self.assertTrue(naive_cpp.in_aarch64_specific_code())97        self.assertFalse(naive_cpp.in_other_arch_specific_code())98        naive_cpp.parse_line('#endif')99        self.assertFalse(naive_cpp.in_aarch64_specific_code())100        self.assertFalse(naive_cpp.in_other_arch_specific_code())101        naive_cpp.parse_line('#endif')102        self.assertFalse(naive_cpp.in_aarch64_specific_code())103        self.assertFalse(naive_cpp.in_other_arch_specific_code())104        naive_cpp.parse_line('#if !defined(__aarch64__)')105        self.assertFalse(naive_cpp.in_aarch64_specific_code())106        self.assertFalse(naive_cpp.in_other_arch_specific_code())107        naive_cpp.parse_line('asm("")')108        self.assertFalse(naive_cpp.in_aarch64_specific_code())109        self.assertFalse(naive_cpp.in_other_arch_specific_code())110        naive_cpp.parse_line('#else')111        self.assertTrue(naive_cpp.in_aarch64_specific_code())112        self.assertFalse(naive_cpp.in_other_arch_specific_code())113        naive_cpp.parse_line('asm("")')114        self.assertTrue(naive_cpp.in_aarch64_specific_code())115        self.assertFalse(naive_cpp.in_other_arch_specific_code())116        naive_cpp.parse_line('#endif')117        self.assertFalse(naive_cpp.in_aarch64_specific_code())118        self.assertFalse(naive_cpp.in_other_arch_specific_code())119        naive_cpp.parse_line('#if !defined(otherarch)')120        self.assertFalse(naive_cpp.in_aarch64_specific_code())121        self.assertFalse(naive_cpp.in_other_arch_specific_code())122        naive_cpp.parse_line('asm("")')123        self.assertFalse(naive_cpp.in_aarch64_specific_code())124        self.assertFalse(naive_cpp.in_other_arch_specific_code())125        naive_cpp.parse_line('#else')126        self.assertFalse(naive_cpp.in_aarch64_specific_code())127        self.assertTrue(naive_cpp.in_other_arch_specific_code())128        naive_cpp.parse_line('asm("")')129        self.assertFalse(naive_cpp.in_aarch64_specific_code())130        self.assertTrue(naive_cpp.in_other_arch_specific_code())131        naive_cpp.parse_line('#endif')132        naive_cpp.parse_line('#if __aarch64__')133        self.assertTrue(naive_cpp.in_aarch64_specific_code())134        self.assertFalse(naive_cpp.in_other_arch_specific_code())135        naive_cpp.parse_line('asm("")')136        self.assertTrue(naive_cpp.in_aarch64_specific_code())137        self.assertFalse(naive_cpp.in_other_arch_specific_code())138        naive_cpp.parse_line('#else')139        self.assertFalse(naive_cpp.in_aarch64_specific_code())140        self.assertFalse(naive_cpp.in_other_arch_specific_code())141        naive_cpp.parse_line('asm("")')142        self.assertFalse(naive_cpp.in_aarch64_specific_code())143        self.assertFalse(naive_cpp.in_other_arch_specific_code())144        naive_cpp.parse_line('#endif')145        self.assertFalse(naive_cpp.in_aarch64_specific_code())146        self.assertFalse(naive_cpp.in_other_arch_specific_code())147        naive_cpp.parse_line('#if otherarch')148        self.assertFalse(naive_cpp.in_aarch64_specific_code())149        self.assertTrue(naive_cpp.in_other_arch_specific_code())150        naive_cpp.parse_line('asm("")')151        self.assertFalse(naive_cpp.in_aarch64_specific_code())152        self.assertTrue(naive_cpp.in_other_arch_specific_code())153        naive_cpp.parse_line('#else')154        self.assertFalse(naive_cpp.in_aarch64_specific_code())155        self.assertFalse(naive_cpp.in_other_arch_specific_code())156        naive_cpp.parse_line('asm("")')157        self.assertFalse(naive_cpp.in_aarch64_specific_code())158        self.assertFalse(naive_cpp.in_other_arch_specific_code())159        naive_cpp.parse_line('#endif')160        self.assertFalse(naive_cpp.in_aarch64_specific_code())161        self.assertFalse(naive_cpp.in_other_arch_specific_code())162        naive_cpp.parse_line('#if !__aarch64__')163        self.assertFalse(naive_cpp.in_aarch64_specific_code())164        self.assertFalse(naive_cpp.in_other_arch_specific_code())165        naive_cpp.parse_line('asm("")')166        self.assertFalse(naive_cpp.in_aarch64_specific_code())167        self.assertFalse(naive_cpp.in_other_arch_specific_code())168        naive_cpp.parse_line('#else')169        self.assertTrue(naive_cpp.in_aarch64_specific_code())170        self.assertFalse(naive_cpp.in_other_arch_specific_code())171        naive_cpp.parse_line('asm("")')172        self.assertTrue(naive_cpp.in_aarch64_specific_code())173        self.assertFalse(naive_cpp.in_other_arch_specific_code())174        naive_cpp.parse_line('#endif')175        self.assertFalse(naive_cpp.in_aarch64_specific_code())176        self.assertFalse(naive_cpp.in_other_arch_specific_code())177        naive_cpp.parse_line('#if !otherarch')178        self.assertFalse(naive_cpp.in_aarch64_specific_code())179        self.assertFalse(naive_cpp.in_other_arch_specific_code())180        naive_cpp.parse_line('asm("")')181        self.assertFalse(naive_cpp.in_aarch64_specific_code())182        self.assertFalse(naive_cpp.in_other_arch_specific_code())183        naive_cpp.parse_line('#else')184        self.assertFalse(naive_cpp.in_aarch64_specific_code())185        self.assertTrue(naive_cpp.in_other_arch_specific_code())186        naive_cpp.parse_line('asm("")')187        self.assertFalse(naive_cpp.in_aarch64_specific_code())188        self.assertTrue(naive_cpp.in_other_arch_specific_code())189        naive_cpp.parse_line('#endif')190        self.assertFalse(naive_cpp.in_aarch64_specific_code())191        self.assertFalse(naive_cpp.in_other_arch_specific_code())192        naive_cpp.parse_line('#if  defined ( __aarch64__)')193        self.assertTrue(naive_cpp.in_aarch64_specific_code())194        self.assertFalse(naive_cpp.in_other_arch_specific_code())195        naive_cpp.parse_line('asm("")')196        self.assertTrue(naive_cpp.in_aarch64_specific_code())197        self.assertFalse(naive_cpp.in_other_arch_specific_code())198        naive_cpp.parse_line('#endif')199        self.assertFalse(naive_cpp.in_aarch64_specific_code())200        self.assertFalse(naive_cpp.in_other_arch_specific_code())201        naive_cpp.parse_line('#if  !  defined ( __aarch64__)')202        self.assertFalse(naive_cpp.in_aarch64_specific_code())203        self.assertFalse(naive_cpp.in_other_arch_specific_code())204        naive_cpp.parse_line('asm("")')205        self.assertFalse(naive_cpp.in_aarch64_specific_code())206        self.assertFalse(naive_cpp.in_other_arch_specific_code())207        naive_cpp.parse_line('#else')208        self.assertTrue(naive_cpp.in_aarch64_specific_code())209        self.assertFalse(naive_cpp.in_other_arch_specific_code())210        naive_cpp.parse_line('asm("")')211        self.assertTrue(naive_cpp.in_aarch64_specific_code())212        self.assertFalse(naive_cpp.in_other_arch_specific_code())213        naive_cpp.parse_line('#endif')214        self.assertFalse(naive_cpp.in_aarch64_specific_code())215        self.assertFalse(naive_cpp.in_other_arch_specific_code())216        naive_cpp.parse_line('#if aarch64')217        self.assertTrue(naive_cpp.in_aarch64_specific_code())218        self.assertFalse(naive_cpp.in_other_arch_specific_code())219        naive_cpp.parse_line('asm("")')220        self.assertTrue(naive_cpp.in_aarch64_specific_code())221        self.assertFalse(naive_cpp.in_other_arch_specific_code())222        naive_cpp.parse_line('#elif otherarch')223        self.assertFalse(naive_cpp.in_aarch64_specific_code())224        self.assertTrue(naive_cpp.in_other_arch_specific_code())225        naive_cpp.parse_line('asm("")')226        self.assertFalse(naive_cpp.in_aarch64_specific_code())227        self.assertTrue(naive_cpp.in_other_arch_specific_code())228        naive_cpp.parse_line('#endif')229        self.assertFalse(naive_cpp.in_aarch64_specific_code())230        self.assertFalse(naive_cpp.in_other_arch_specific_code())231    def test_parse_line_pragma(self):232        naive_cpp = NaiveCpp()233        result = naive_cpp.parse_line('#pragma simd foo')234        self.assertEqual(result.directive_type,235                          PreprocessorDirective.TYPE_PRAGMA)236    def test_parse_line_error(self):237        naive_cpp = NaiveCpp()238        result = naive_cpp.parse_line('#error foo')239        self.assertEqual(result.directive_type,240                          PreprocessorDirective.TYPE_ERROR)241    def test_parse_line_ifdef_compiler(self):242        naive_cpp = NaiveCpp()243        result = naive_cpp.parse_line('#ifdef __GNUC__')244        self.assertEqual(result.directive_type,245                          PreprocessorDirective.TYPE_CONDITIONAL)246        self.assertTrue(result.is_compiler)247    def test_aarch64_re(self):248        match = NaiveCpp.AARCH64_MACROS_RE_PROG.match('aarch64')249        self.assertIsNotNone(match)250        match = NaiveCpp.AARCH64_MACROS_RE_PROG.match('__aarch64__')251        self.assertIsNotNone(match)252        match = NaiveCpp.AARCH64_MACROS_RE_PROG.match('foo')253        self.assertIsNone(match)254    def test_non_aarch64_re(self):255        match = NaiveCpp.NON_AARCH64_MACROS_RE_PROG.match('otherarch')256        self.assertIsNotNone(match)257        match = NaiveCpp.NON_AARCH64_MACROS_RE_PROG.match('__otherarch__')258        self.assertIsNotNone(match)259        match = NaiveCpp.NON_AARCH64_MACROS_RE_PROG.match('foo')260        self.assertIsNone(match)261    def test_compiler_re(self):262        match = NaiveCpp.COMPILER_MACROS_RE_PROG.match('GNUC')263        self.assertIsNotNone(match)264        match = NaiveCpp.COMPILER_MACROS_RE_PROG.match('__GNUC__')265        self.assertIsNotNone(match)266        match = NaiveCpp.COMPILER_MACROS_RE_PROG.match('foo')267        self.assertIsNone(match)268    def test_macro_body(self):269        naive_cpp = NaiveCpp()270        result = naive_cpp.parse_line('#define MACRO BODY')271        self.assertEqual(result.directive_type,272                          PreprocessorDirective.TYPE_DEFINE)273        self.assertEqual(result.macro_name, 'MACRO')274        self.assertEqual(result.body, 'BODY')275        result = naive_cpp.parse_line('#define MACRO(a,b,c) BODY')276        self.assertEqual(result.directive_type,277                          PreprocessorDirective.TYPE_DEFINE)278        self.assertEqual(result.macro_name, 'MACRO(a,b,c)')279        self.assertEqual(result.body, 'BODY')280    def test_parse_line_if_else(self):281        naive_cpp = NaiveCpp()282        naive_cpp.parse_line('/* a comment */')283        self.assertFalse(naive_cpp.in_aarch64_specific_code())284        self.assertFalse(naive_cpp.in_other_arch_specific_code())285        self.assertFalse(naive_cpp.in_other_arch_else_code())286        naive_cpp.parse_line('#if defined (__otherarch__)')287        self.assertFalse(naive_cpp.in_aarch64_specific_code())288        self.assertTrue(naive_cpp.in_other_arch_specific_code())289        self.assertFalse(naive_cpp.in_other_arch_else_code())290        naive_cpp.parse_line('/* a comment */')291        self.assertFalse(naive_cpp.in_aarch64_specific_code())292        self.assertTrue(naive_cpp.in_other_arch_specific_code())293        self.assertFalse(naive_cpp.in_other_arch_else_code())294        naive_cpp.parse_line('#else')295        self.assertFalse(naive_cpp.in_aarch64_specific_code())296        self.assertFalse(naive_cpp.in_other_arch_specific_code())297        self.assertTrue(naive_cpp.in_other_arch_else_code())298        naive_cpp.parse_line('/* a comment */')299        self.assertFalse(naive_cpp.in_aarch64_specific_code())300        self.assertFalse(naive_cpp.in_other_arch_specific_code())301        self.assertTrue(naive_cpp.in_other_arch_else_code())302        naive_cpp.parse_line('#endif')303        self.assertFalse(naive_cpp.in_aarch64_specific_code())304        self.assertFalse(naive_cpp.in_other_arch_specific_code())305        self.assertFalse(naive_cpp.in_other_arch_else_code())306    def test_parse_line_if_elif_else(self):307        naive_cpp = NaiveCpp()308        naive_cpp.parse_line('/* a comment */')309        self.assertFalse(naive_cpp.in_aarch64_specific_code())310        self.assertFalse(naive_cpp.in_other_arch_specific_code())311        self.assertFalse(naive_cpp.in_other_arch_else_code())312        naive_cpp.parse_line('#if defined (__otherarch__)')313        self.assertFalse(naive_cpp.in_aarch64_specific_code())314        self.assertTrue(naive_cpp.in_other_arch_specific_code())315        self.assertFalse(naive_cpp.in_other_arch_else_code())316        naive_cpp.parse_line('/* a comment */')317        self.assertFalse(naive_cpp.in_aarch64_specific_code())318        self.assertTrue(naive_cpp.in_other_arch_specific_code())319        self.assertFalse(naive_cpp.in_other_arch_else_code())320        naive_cpp.parse_line('#elif defined (__aarch64__)')321        self.assertTrue(naive_cpp.in_aarch64_specific_code())322        self.assertFalse(naive_cpp.in_other_arch_specific_code())323        self.assertFalse(naive_cpp.in_other_arch_else_code())324        naive_cpp.parse_line('/* a comment */')325        self.assertTrue(naive_cpp.in_aarch64_specific_code())326        self.assertFalse(naive_cpp.in_other_arch_specific_code())327        self.assertFalse(naive_cpp.in_other_arch_else_code())328        naive_cpp.parse_line('#else')329        self.assertFalse(naive_cpp.in_aarch64_specific_code())330        self.assertFalse(naive_cpp.in_other_arch_specific_code())331        self.assertFalse(naive_cpp.in_other_arch_else_code())332        naive_cpp.parse_line('/* a comment */')333        self.assertFalse(naive_cpp.in_aarch64_specific_code())334        self.assertFalse(naive_cpp.in_other_arch_specific_code())335        self.assertFalse(naive_cpp.in_other_arch_else_code())336        naive_cpp.parse_line('#endif')337        self.assertFalse(naive_cpp.in_aarch64_specific_code())338        self.assertFalse(naive_cpp.in_other_arch_specific_code())339        self.assertFalse(naive_cpp.in_other_arch_else_code())340    def test_parse_line_if_elif_elif_else(self):341        naive_cpp = NaiveCpp()342        naive_cpp.parse_line('/* a comment */')343        self.assertFalse(naive_cpp.in_aarch64_specific_code())344        self.assertFalse(naive_cpp.in_other_arch_specific_code())345        self.assertFalse(naive_cpp.in_other_arch_else_code())346        naive_cpp.parse_line('#if defined (__otherarch__)')347        self.assertFalse(naive_cpp.in_aarch64_specific_code())348        self.assertTrue(naive_cpp.in_other_arch_specific_code())349        self.assertFalse(naive_cpp.in_other_arch_else_code())350        naive_cpp.parse_line('/* a comment */')351        self.assertFalse(naive_cpp.in_aarch64_specific_code())352        self.assertTrue(naive_cpp.in_other_arch_specific_code())353        self.assertFalse(naive_cpp.in_other_arch_else_code())354        naive_cpp.parse_line('#elif defined (__aarch64__)')355        self.assertTrue(naive_cpp.in_aarch64_specific_code())356        self.assertFalse(naive_cpp.in_other_arch_specific_code())357        self.assertFalse(naive_cpp.in_other_arch_else_code())358        naive_cpp.parse_line('/* a comment */')359        self.assertTrue(naive_cpp.in_aarch64_specific_code())360        self.assertFalse(naive_cpp.in_other_arch_specific_code())361        self.assertFalse(naive_cpp.in_other_arch_else_code())362        naive_cpp.parse_line('#elif defined (__otherarch__)')363        self.assertFalse(naive_cpp.in_aarch64_specific_code())364        self.assertTrue(naive_cpp.in_other_arch_specific_code())365        self.assertFalse(naive_cpp.in_other_arch_else_code())366        naive_cpp.parse_line('/* a comment */')367        self.assertFalse(naive_cpp.in_aarch64_specific_code())368        self.assertTrue(naive_cpp.in_other_arch_specific_code())369        self.assertFalse(naive_cpp.in_other_arch_else_code())370        naive_cpp.parse_line('#else')371        self.assertFalse(naive_cpp.in_aarch64_specific_code())372        self.assertFalse(naive_cpp.in_other_arch_specific_code())373        self.assertFalse(naive_cpp.in_other_arch_else_code())374        naive_cpp.parse_line('/* a comment */')375        self.assertFalse(naive_cpp.in_aarch64_specific_code())376        self.assertFalse(naive_cpp.in_other_arch_specific_code())377        self.assertFalse(naive_cpp.in_other_arch_else_code())378        naive_cpp.parse_line('#endif')379        self.assertFalse(naive_cpp.in_aarch64_specific_code())380        self.assertFalse(naive_cpp.in_other_arch_specific_code())...test_parser.py
Source:test_parser.py  
...100        - '%{datetime} %{level} %{msg}'101    """102    cfg = yaml.load(StringIO(cfg))103    psr = ps.create_parser(cfg['parser'])104    assert psr.parse_line('2016-06-28 12:33:21 DEBUG foo.py:37 Init success')105    assert psr.parsed['date'] == '2016-06-28'106    assert psr.parsed['level'] == 'DEBUG'107    assert psr.parsed['src_line'] == '37'108    assert psr.parse_line('2016-06-29 17:50:11 ERROR Critical error!')109    assert psr.parsed['level'] == 'ERROR'110    assert psr.parsed['msg'] == 'Critical error!'111    assert not psr.parse_line('2016-06-29 ERROR')112def test_parser_create_custom():113    cfg = """114parser:115    custom: FCS116    """117    import yaml118    from StringIO import StringIO119    cfg = yaml.load(StringIO(cfg))120    psr = ps.create_parser(cfg['parser'])121    assert isinstance(psr, custom.FCS)122def test_parser_fcs():123    fcs = custom.FCS()124    fcs.set_file_path("dummy_path\FCSAdapter.dll.log.20160420-092124.19316")125    # assert fcs.get_date() == '2016-04-20'126    assert fcs.parse_line("E20160324 09:26:51.754881  2708 fcs_client.cpp:225] connection closed : 997")127    assert fcs.buf['dt_'] == '2016-03-24 09:26:51.754881'128    assert fcs.buf['level'] == 'E'129    assert fcs.buf['msg'] == 'connection closed : 997'130    assert len(fcs.buf) == 9131    assert fcs.completed == 0132    assert fcs.parse_line("E20160325 11:37:52.508764  3304 communicator.hpp:128] [8371] response sync")133    assert len(fcs.parsed) == 9134    assert fcs.buf['dt_'] == '2016-03-25 11:37:52.508764'135    assert fcs.completed == 1136    assert fcs.parse_line(" [RequestValidateAuthenticationKey]")137    assert fcs.buf['type'] == 'ValidateAuthenticationKey'138    fcs.parse_line("  packet_length : 67")139    assert fcs.buf["req-packet_length"] == '67'140    fcs.parse_line("  packet_type : 0x26")141    fcs.parse_line("  transaction_id : 8371")142    fcs.parse_line("  account_no : 1862710")143    fcs.parse_line("  authentication_key : D7665F56-29E2-4B80-BD8F-C5D37C3654CA")144    assert fcs.buf["req-authentication_key"] == "D7665F56-29E2-4B80-BD8F-C5D37C3654CA"145    fcs.parse_line("  client_ip : 116.121.77.141")146    assert fcs.buf["req-client_ip"] == '116.121.77.141'147    fcs.parse_line(" [ResponseValidateAuthenticationKey]")148    fcs.parse_line("  packet_length : 44")149    assert fcs.buf["res-packet_length"] == '44'150    fcs.parse_line("  packet_type : 0x26")151    fcs.parse_line("  transaction_id : 8371")152    fcs.parse_line("  result_code : 90213")153    fcs.parse_line("  condition_type : 0x64")154    fcs.parse_line("  user_no : 0")155    fcs.parse_line("  user_id : ")156    fcs.parse_line("  account_no : 0")157    fcs.parse_line("  account_id : ")158    fcs.parse_line("  account_type : 0x00")159    fcs.parse_line("  block_state : 0x00")160    fcs.parse_line("  pcbang_index : 0")161    fcs.parse_line("  phone_auth : ")162    fcs.parse_line("  is_phone_auth : 0")163    fcs.parse_line("  auth_ip : ")164    assert fcs.buf["res-auth_ip"] == ''165    fcs.parse_line("E20160324 11:39:31.027815  3316 communicator.hpp:128] [8481] response sync")166    assert len(fcs.parsed) == 31167    assert fcs.parsed["res-auth_ip"] == ''168    assert len(fcs.buf) == 9169    assert fcs.completed == 2170    assert fcs.parse_line("I20160420 11:48:24.739433 26224 communicator.hpp:124] [3362162] response sync")171    fcs.parse_line(" [ResponseGetPCRoomGuid]")172    fcs.parse_line("  packet_length : 14")173    fcs.parse_line("  packet_type : 0x34")174    fcs.parse_line("  transaction_id : 3362162")175    fcs.parse_line("  result_code : 1")176    fcs.parse_line("  condition_type : 0x64")177    fcs.parse_line("  pc_room_guid : 0")178    assert fcs.buf['level'] == 'I'179    assert fcs.buf['dt_'] == '2016-04-20 11:48:24.739433'180    fcs.parse_line("I20160420 11:48:24.739433 26224 communicator.hpp:133] [3362162] <total: 0 msec>")181    assert fcs.buf['transaction_id'] == '3362162'182    assert fcs.buf['dt_'] == '2016-04-20 11:48:24.739433'183    assert fcs.buf['totalms'] == '0'184    fcs.parse_line("I20170104 14:31:26.525174 10828 communicator.hpp:165] [4] request async")185    assert '[4] request async' in fcs.buf['msg']186    fcs.parse_line(" [RequestChargeJewel]")187    fcs.parse_line(" packet_length : 171")188    assert 'req-packet_length' in fcs.buf189    fcs.parse_line(" packet_type : 0xb0")190    fcs.parse_line(" transaction_id : 4")191    fcs.parse_line(" callback_attribute :callback attr")192    fcs.parse_line(" provider_code :PRC001")193    fcs.parse_line(" user_no :10000149")194    assert 'req-user_no' in fcs.buf195    fcs.parse_line("I20170327 22:31:42.046875  1440 fcs_client.h:114] [963080] response async")196    assert '[963080] response async' in fcs.buf['msg']197    fcs.parse_line(" [ResponseWShopCheckBalance]")198    fcs.parse_line(" packet_length : 75")199    assert 'res-packet_length' in fcs.buf200    fcs.parse_line(" jewel_balance_item_count : 1")201    #  can not parse indented key values202    fcs.parse_line("    JewelBalanceItem[0]")203    fcs.parse_line("      cash_type : 3")204    fcs.parse_line("      value	 : 500")205    fcs.parse_line("I20170327 22:31:43.281250  1440 fcs_client.h:114] [963104] response async")206    assert '[963104] response async' in fcs.buf['msg']207    fcs.parse_line(" [ResponseWShopCheckBalance]")208    fcs.parse_line(" packet_length : 75")209    fcs.parse_line(" callback_attribute : J6402170601804509986")210    fcs.parse_line(" jewel_balance_item_count : 1")211    assert "res-jewel_balance_item_count" in fcs.buf212def test_parser_mocaa():213    moc = custom.Mocaa()214    # dtregx = moc.objects['%{datetime}']215    # assert dtregx.regex == r'(?P<datetime>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \(\+\d{2}\d{2}\))'216    assert moc.parse_line("==== 2016/06/01 02:51:19 (+0900) ====")217    assert moc.parse_line("[API Request][c6b3d85e-1f60-47e8-a07c-4379db9c2bc6] /v2/contents/start")218    assert moc.buf['ltype'] == 'API Request'219    assert moc.parse_line('{"service_code":"SVC009","store_type":"playstore","params":"","client_ip":"192.168.0.11"}')220    assert moc.parse_line('==== 2016-06-01 02:51:19 (+0900) ====')221    assert moc.completed == 1222    assert moc.parsed['ltype'] == 'API Request'223    assert moc.parse_line('[API Response][c6b3d85e-1f60-47e8-a07c-4379db9c2bc6][898 ms] /v2/contents/start')224    assert moc.parse_line('[Body]')225    assert moc.parse_line('{')226    assert moc.parse_line('  "return_code": 1,')227    assert moc.parse_line('  "url": {')228    assert moc.parse_line('    "notice_url": "",')229    assert moc.parse_line('    "event_url": "",')230    assert moc.parse_line('    "cs_url": "",')231    assert moc.parse_line('    "faq_url": "",')232    assert moc.parse_line('    "coupon_url": ""')233    assert moc.parse_line('  },')234    assert moc.parse_line('  "maintenance": {')235    assert moc.parse_line('    "is_open": true,')236    assert moc.parse_line('    "message": ""')237    assert moc.parse_line('  },')238    assert moc.parse_line('  "webzen_kr_auth": null,')239    assert moc.parse_line('  "webzen_global_auth": null,')240    assert moc.parse_line('  "naver_auth": null,')241    assert moc.parse_line('  "google_plus_auth": null,')242    assert moc.parse_line('  "t_store": null,')243    assert moc.parse_line('  "n_store": null,')244    assert moc.parse_line('  "push_notification": {')245    assert moc.parse_line('    "gcm": "392205420186"')246    assert moc.parse_line('  },')247    assert moc.parse_line('  "google_play_game_service": {')248    assert moc.parse_line('    "client_id": "",')249    assert moc.parse_line('    "client_secret": ""')250    assert moc.parse_line('  },')251    assert moc.parse_line('  "google_auth": null,')252    assert moc.parse_line('  "memo": "success"')253    assert moc.parse_line('}')254    assert moc.buf['memo'] == 'success'255    assert moc.parse_line("==== 2016/06/01 02:51:20 (+0900) ====")256    assert moc.completed == 2257def test_parser_transform():258    cfg = """259parser:260    tokens:261        date: '\d{4}-\d{2}-\d{2}'262        time: '\d{2}:\d{2}:\d{2}.\d{4}'263        dt_: '%{date} %{time}'264        request_data: ['{.*}', 'prefix(lower(ravel(json(_))), "req")']265        message: ['{.*}', 'ravel(json(_))']266        exception: '.*'267    groups:268        debug: '%{dt_},%{request_data}?,%{message}?'269    formats:270        - '%{debug}'271    """272    cfg = yaml.load(StringIO(cfg))273    psr = ps.create_parser(cfg['parser'])274    tok = psr.objects['%{request_data}']275    ok = tok.parse('{"PostData" : {"val": 1, "lval": [1,2,3]},"GetData" : {}}')276    assert ok277    assert 'request_data' not in tok.taken278    assert "req-postdata_val" in tok.taken279    assert "req-postdata_lval" in tok.taken280    assert "req-getdata" not in tok.taken281    assert psr.objects['%{request_data}'].tfunc_lmap282    ok = psr.parse_line('2016-07-25 00:00:00.7083,{"PostData" : {"val": 1, "lval": [1,2,3]},"GetData" : {}},')283    assert "req-postdata_val" in psr.parsed284    assert "req-postdata_lval" in psr.parsed285    assert "req-getdata" not in psr.parsed286    assert psr.parsed['message'] == ''287# def test_parser_multiline():288#     cfg = """289#     parser:290#         tokens:291#             date: '\d{4}-\d{2}-\d{2}'292#             time: '\d{2}:\d{2}:\d{2}.\d{4}'293#             dt_: '%{date} %{time}'294#             path: '\S+'295#             state: '\d+'296#             server_ip: '\d+\.\d+\.\d+\.\d+'...test_gmachine.py
Source:test_gmachine.py  
...13        pass14    def test_reset(self):15        # reset() resets all configurable from gcode things.16        m = GMachine()17        m.do_command(GCode.parse_line("G20"))18        m.do_command(GCode.parse_line("G91"))19        m.do_command(GCode.parse_line("X1Y1Z1"))20        m.reset()21        m.do_command(GCode.parse_line("X3Y4Z5E6"))22        self.assertEqual(m.position(), Coordinates(3, 4, 5, 6))23    def test_safe_zero(self):24        m = GMachine()25        m.do_command(GCode.parse_line("X1Y2Z3E4"))26        m.safe_zero()27        self.assertEqual(m.position(), Coordinates(0, 0, 0, 4))28    def test_none(self):29        # GMachine must ignore None commands, since GCode.parse_line()30        # returns None if no gcode found in line.31        m = GMachine()32        m.do_command(None)33        self.assertEqual(m.position(), Coordinates(0, 0, 0, 0))34    def test_unknown(self):35        # Test commands which doesn't exists36        m = GMachine()37        self.assertRaises(GMachineException,38                          m.do_command, GCode.parse_line("G99699X1Y2Z3"))39        self.assertRaises(GMachineException,40                          m.do_command, GCode.parse_line("M99699"))41    # Test gcode commands.42    def test_g0_g1(self):43        m = GMachine()44        m.do_command(GCode.parse_line("G0X10Y10Z11"))45        self.assertEqual(m.position(), Coordinates(10, 10, 11, 0))46        m.do_command(GCode.parse_line("G0X3Y2Z1E-2"))47        self.assertEqual(m.position(), Coordinates(3, 2, 1, -2))48        m.do_command(GCode.parse_line("G1X1Y2Z3E4"))49        self.assertEqual(m.position(), Coordinates(1, 2, 3, 4))50        self.assertRaises(GMachineException,51                          m.do_command, GCode.parse_line("G1F-1"))52        self.assertRaises(GMachineException,53                          m.do_command, GCode.parse_line("G1X-1Y0Z0"))54        self.assertRaises(GMachineException,55                          m.do_command, GCode.parse_line("G1X0Y-1Z0"))56        self.assertRaises(GMachineException,57                          m.do_command, GCode.parse_line("G1X0Y0Z-1"))58    def test_feed_rate(self):59        PulseGenerator.AUTO_VELOCITY_ADJUSTMENT = False60        m = GMachine()61        self.assertRaises(GMachineException,62                          m.do_command, GCode.parse_line("G1X1F-1"))63        cl = "G1X1F" + str(MIN_VELOCITY_MM_PER_MIN - 0.0000001)64        self.assertRaises(GMachineException, m.do_command,65                          GCode.parse_line(cl))66        m.do_command(GCode.parse_line("G1X100F"67                                      + str(MAX_VELOCITY_MM_PER_MIN_X)))68        m.do_command(GCode.parse_line("G1Y100F"69                                      + str(MAX_VELOCITY_MM_PER_MIN_Y)))70        m.do_command(GCode.parse_line("G1Z100F"71                                      + str(MAX_VELOCITY_MM_PER_MIN_Z)))72        m.do_command(GCode.parse_line("G1E100F"73                                      + str(MAX_VELOCITY_MM_PER_MIN_E)))74        self.assertRaises(GMachineException,75                          m.do_command, GCode.parse_line("G1X0F999999"))76        s = "G1X0F" + str(MAX_VELOCITY_MM_PER_MIN_X + 1)77        self.assertRaises(GMachineException, m.do_command, GCode.parse_line(s))78        s = "G1Y0F" + str(MAX_VELOCITY_MM_PER_MIN_Y + 1)79        self.assertRaises(GMachineException, m.do_command, GCode.parse_line(s))80        s = "G1Z0F" + str(MAX_VELOCITY_MM_PER_MIN_Z + 1)81        self.assertRaises(GMachineException, m.do_command, GCode.parse_line(s))82        s = "G1E0F" + str(MAX_VELOCITY_MM_PER_MIN_E + 1)83        self.assertRaises(GMachineException, m.do_command, GCode.parse_line(s))84        PulseGenerator.AUTO_VELOCITY_ADJUSTMENT = True85        m.do_command(GCode.parse_line("G1X10Y10Z10F9999999999999999999"))86        m.do_command(GCode.parse_line("G2I0.1F9999999999999999999"))87        m.do_command(GCode.parse_line("G2I10F9999999999999999999"))88        PulseGenerator.AUTO_VELOCITY_ADJUSTMENT = AUTO_VELOCITY_ADJUSTMENT89    def test_g2_g3(self):90        m = GMachine()91        self.assertRaises(GMachineException,92                          m.do_command, GCode.parse_line("G3I1J1F-1"))93        m.do_command(GCode.parse_line("G19"))94        self.assertRaises(GMachineException,95                          m.do_command, GCode.parse_line("G3I1J0K0"))96        m.do_command(GCode.parse_line("G18"))97        self.assertRaises(GMachineException,98                          m.do_command, GCode.parse_line("G3I0J1K0"))99        m.do_command(GCode.parse_line("G17"))100        self.assertRaises(GMachineException,101                          m.do_command, GCode.parse_line("G3I0J0K1"))102        self.assertRaises(GMachineException,103                          m.do_command, GCode.parse_line("G2X99999999Y99999999"104                                                         "I1J1"))105        self.assertRaises(GMachineException,106                          m.do_command,107                          GCode.parse_line("G2X2Y2Z99999999I1J1"))108        self.assertEqual(m.position(), Coordinates(0, 0, 0, 0))109        self.assertRaises(GMachineException,110                          m.do_command, GCode.parse_line("G2X4Y4I2J2"))111        self.assertRaises(GMachineException,112                          m.do_command, GCode.parse_line("G3X4Y4I2J2"))113        m.do_command(GCode.parse_line("G17"))114        m.do_command(GCode.parse_line("G1X1"))115        m.do_command(GCode.parse_line("G2J1"))116        m.do_command(GCode.parse_line("G3J1"))117        self.assertEqual(m.position(), Coordinates(1, 0, 0, 0))118        m.do_command(GCode.parse_line("G1X10Y10"))119        m.do_command(GCode.parse_line("G2X9I1"))120        self.assertEqual(m.position(), Coordinates(9, 10, 0, 0))121        m.do_command(GCode.parse_line("G19"))122        m.do_command(GCode.parse_line("G1X10Y10Z10"))123        m.do_command(GCode.parse_line("G3Y8K1"))124        self.assertEqual(m.position(), Coordinates(10, 8, 10, 0))125        m.do_command(GCode.parse_line("G17"))126        m.do_command(GCode.parse_line("G1X5Y5Z0"))127        m.do_command(GCode.parse_line("G2X0Y0Z5I-2J-2"))128        self.assertEqual(m.position(), Coordinates(0, 0, 5, 0))129        m.do_command(GCode.parse_line("G17"))130        m.do_command(GCode.parse_line("G1X90Y90"))131        m.do_command(GCode.parse_line("G2X90Y70I-5J-5"))132        self.assertEqual(m.position(), Coordinates(90, 70, 5, 0))133        m.do_command(GCode.parse_line("G18"))134        m.do_command(GCode.parse_line("G1X90Y90Z20E0"))135        m.do_command(GCode.parse_line("G2Z20X70I-5K-5E22"))136        self.assertEqual(m.position(), Coordinates(70, 90, 20, 22))137        m.do_command(GCode.parse_line("G19"))138        m.do_command(GCode.parse_line("G1X90Y90Z20"))139        m.do_command(GCode.parse_line("G2Y90Z0J-5K-5E27"))140        self.assertEqual(m.position(), Coordinates(90, 90, 0, 27))141    def test_g4(self):142        m = GMachine()143        st = time.time()144        m.do_command(GCode.parse_line("G4P0.5"))145        self.assertLess(0.5, time.time() - st)146        self.assertRaises(GMachineException,147                          m.do_command, GCode.parse_line("G4P-0.5"))148    def test_g17_g18_g19(self):149        m = GMachine()150        m.do_command(GCode.parse_line("G19"))151        self.assertEqual(m.plane(), PLANE_YZ)152        m.do_command(GCode.parse_line("G18"))153        self.assertEqual(m.plane(), PLANE_ZX)154        m.do_command(GCode.parse_line("G17"))155        self.assertEqual(m.plane(), PLANE_XY)156    def test_g20_g21(self):157        m = GMachine()158        m.do_command(GCode.parse_line("G20"))159        m.do_command(GCode.parse_line("X3Y2Z1E0.5"))160        self.assertEqual(m.position(), Coordinates(76.2, 50.8, 25.4, 12.7))161        m.do_command(GCode.parse_line("G21"))162        m.do_command(GCode.parse_line("X3Y2Z1E0.5"))163        self.assertEqual(m.position(), Coordinates(3, 2, 1, 0.5))164    def test_g90_g91(self):165        m = GMachine()166        m.do_command(GCode.parse_line("G91"))167        m.do_command(GCode.parse_line("X1Y1Z1E1"))168        m.do_command(GCode.parse_line("X1Y1Z1"))169        m.do_command(GCode.parse_line("X1Y1"))170        m.do_command(GCode.parse_line("X1"))171        self.assertEqual(m.position(), Coordinates(4, 3, 2, 1))172        m.do_command(GCode.parse_line("X-1Y-1Z-1E-1"))173        m.do_command(GCode.parse_line("G90"))174        m.do_command(GCode.parse_line("X1Y1Z1E1"))175        self.assertEqual(m.position(), Coordinates(1, 1, 1, 1))176    def test_g53_g92(self):177        m = GMachine()178        m.do_command(GCode.parse_line("G92X100Y100Z100E100"))179        m.do_command(GCode.parse_line("X101Y102Z103E104"))180        self.assertEqual(m.position(), Coordinates(1, 2, 3, 4))181        m.do_command(GCode.parse_line("G92X-1Y-1Z-1E-1"))182        m.do_command(GCode.parse_line("X1Y1Z1E1"))183        self.assertEqual(m.position(), Coordinates(3, 4, 5, 6))184        m.do_command(GCode.parse_line("G92X3Y4Z5E6"))185        m.do_command(GCode.parse_line("X0Y0Z0E0"))186        self.assertEqual(m.position(), Coordinates(0, 0, 0, 0))187        m.do_command(GCode.parse_line("X1Y2Z3E4"))188        self.assertEqual(m.position(), Coordinates(1, 2, 3, 4))189        m.do_command(GCode.parse_line("G53"))190        m.do_command(GCode.parse_line("X6Y7Z8E9"))191        self.assertEqual(m.position(), Coordinates(6, 7, 8, 9))192        m.do_command(GCode.parse_line("G92E0"))193        m.do_command(GCode.parse_line("X6Y7Z8E1"))194        self.assertEqual(m.position(), Coordinates(6, 7, 8, 10))195        m.do_command(GCode.parse_line("G92"))196        m.do_command(GCode.parse_line("X1Y1Z1E1"))197        self.assertEqual(m.position(), Coordinates(7, 8, 9, 11))198    def test_g53_g91_g92(self):199        m = GMachine()200        m.do_command(GCode.parse_line("G92X-50Y-60Z-70E-80"))201        m.do_command(GCode.parse_line("X-45Y-55Z-65E-75"))202        self.assertEqual(m.position(), Coordinates(5, 5, 5, 5))203        m.do_command(GCode.parse_line("G91"))204        m.do_command(GCode.parse_line("X-1Y-2Z-3E-4"))205        self.assertEqual(m.position(), Coordinates(4, 3, 2, 1))206    def test_m3_m5(self):207        m = GMachine()208        m.do_command(GCode.parse_line("M3S" + str(SPINDLE_MAX_RPM)))209        self.assertRaises(GMachineException,210                          m.do_command, GCode.parse_line("M3S-10"))211        self.assertRaises(GMachineException,212                          m.do_command, GCode.parse_line("M3S999999999"))213        m.do_command(GCode.parse_line("M5"))214    def test_m104_m109(self):215        m = GMachine()216        m.do_command(GCode.parse_line("M104S"+str(MIN_TEMPERATURE)))217        self.assertEqual(m.extruder_target_temperature(), MIN_TEMPERATURE)218        m.do_command(GCode.parse_line("M104S0"))219        self.assertEqual(m.extruder_target_temperature(), 0)220        # blocking heating should be called with max temperature since virtual221        # hal always return this temperature.222        m.do_command(GCode.parse_line("M109S" + str(EXTRUDER_MAX_TEMPERATURE)))223        self.assertEqual(m.extruder_target_temperature(),224                         EXTRUDER_MAX_TEMPERATURE)225        m.do_command(GCode.parse_line("M104S0"))226        self.assertEqual(m.extruder_target_temperature(), 0)227        self.assertRaises(GMachineException, m.do_command,228                          GCode.parse_line("M104S"+str(MIN_TEMPERATURE - 1)))229        et = EXTRUDER_MAX_TEMPERATURE + 1230        self.assertRaises(GMachineException, m.do_command,231                          GCode.parse_line("M109S" + str(et)))232        self.assertRaises(GMachineException, m.do_command,233                          GCode.parse_line("M109"))234    def test_m106_m107(self):235        m = GMachine()236        m.do_command(GCode.parse_line("M106"))237        self.assertTrue(m.fan_state())238        m.do_command(GCode.parse_line("M106S0"))239        self.assertFalse(m.fan_state())240        m.do_command(GCode.parse_line("M106S123"))241        self.assertTrue(m.fan_state())242        m.do_command(GCode.parse_line("M107"))243        self.assertFalse(m.fan_state())244        # check auto fan feature245        m.AUTO_FAN_ON = True246        m.do_command(GCode.parse_line("M104S" + str(MIN_TEMPERATURE)))247        self.assertTrue(m.fan_state())248        m.do_command(GCode.parse_line("M104S0"))249        self.assertTrue(m.fan_state())250        m.do_command(GCode.parse_line("M107"))251        self.assertFalse(m.fan_state())252        m.AUTO_FAN_ON = False253    def test_m140_m190(self):254        m = GMachine()255        m.do_command(GCode.parse_line("M140S"+str(MIN_TEMPERATURE)))256        self.assertEqual(m.bed_target_temperature(), MIN_TEMPERATURE)257        m.do_command(GCode.parse_line("M140S0"))258        self.assertEqual(m.bed_target_temperature(), 0)259        # blocking heating should be called with max temperature since virtual260        # hal always return this temperature.261        m.do_command(GCode.parse_line("M190S" + str(BED_MAX_TEMPERATURE)))262        self.assertEqual(m.bed_target_temperature(), BED_MAX_TEMPERATURE)263        m.do_command(GCode.parse_line("M190S0"))264        self.assertEqual(m.bed_target_temperature(), 0)265        self.assertRaises(GMachineException, m.do_command,266                          GCode.parse_line("M140S"+str(MIN_TEMPERATURE - 1)))267        self.assertRaises(GMachineException, m.do_command,268                          GCode.parse_line("M190S"269                                           + str(BED_MAX_TEMPERATURE + 1)))270        self.assertRaises(GMachineException, m.do_command,271                          GCode.parse_line("M190"))272if __name__ == '__main__':...dotenv_test.py
Source:dotenv_test.py  
...43        # some whitespace checks and a few parts just because44        parsed = self.dotenv.parse('key = value\n\n\n\n   name = "bob" # sup\n another = "test\\"value"#okay')45        self.assertEquals({'key': 'value', 'name': 'bob', 'another': 'test"value'}, parsed)46    def test_opening_comment(self):47        self.assertEquals([False, False], self.dotenv.parse_line('# name = test', '#'))48    def test_opening_comment_with_space(self):49        # white space is stripped first, so it still starts with a comment if it has spaces50        self.assertEquals([False, False], self.dotenv.parse_line(' # name = test', '#'))51    def test_any_comment_charater(self):52        # our comment character should be respected53        self.assertEquals([False, False], self.dotenv.parse_line('; name = test', ';'))54    def test_multi_character_comment(self):55        # and it is allowed to be more than one character long56        self.assertEquals([False, False], self.dotenv.parse_line('weirdcomment name = test', 'weirdcomment'))57    def test_ignore_empty_lines(self):58        # empty lines (which includes lines with all white space) are ignored59        self.assertEquals([False, False], self.dotenv.parse_line('  ', '#'))60    def test_invalid_format(self):61        # supported format is something like name = value or name: value62        # if neither of the separators is present then we should get a syntax error63        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, 'sup', '#')64    def test_empty_value_equal(self):65        # empty values are allowed66        self.assertEquals(['key', ''], self.dotenv.parse_line('key=', '#'))67    def test_empty_value_colon(self):68        # colons act exactly the same way69        self.assertEquals(['key', ''], self.dotenv.parse_line('key:', '#'))70    def test_empty_value_equal_spaces(self):71        # and spaces are ignored72        self.assertEquals(['key', ''], self.dotenv.parse_line(" key \t=\t  ", '#'))73    def test_empty_value_equal_colon(self):74        # and spaces are ignored75        self.assertEquals(['key', ''], self.dotenv.parse_line(" key \t:\t  ", '#'))76    def test_value_no_quotes_equal(self):77        # a value without quotes should be easy78        self.assertEquals(['key', 'asdf'], self.dotenv.parse_line("key=asdf", '#'))79    def test_value_no_quotes_colon(self):80        # a value without quotes should be easy81        self.assertEquals(['key', 'asdf'], self.dotenv.parse_line("key:asdf", '#'))82    def test_value_no_quotes_equal_spaces(self):83        # spaces are still ignored at the beginning/end of a part84        self.assertEquals(['key', 'asdf bob'], self.dotenv.parse_line("key= asdf bob  \t", '#'))85    def test_value_no_quotes_equal_colon(self):86        # spaces are still ignored at the beginning/end of a part87        self.assertEquals(['key', 'asdf bob'], self.dotenv.parse_line("key : asdf bob  \t", '#'))88    def test_value_no_quotes_equal_comment(self):89        # and comments at the end are ignored (including spaces before comments)90        self.assertEquals(['key', 'asdf bob'], self.dotenv.parse_line("key = asdf bob  \t# a comment", '#'))91    def test_value_no_quotes_equal_colon(self):92        # and comments at the end are ignored (including spaces before comments)93        self.assertEquals(['key', 'asdf bob'], self.dotenv.parse_line("key : asdf bob  \t; a comment", ';'))94    def test_no_lone_quotes_double(self):95        # a quote character inside the value by itself is invalid96        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, 'name = valu"e', '#')97    def test_no_lone_quotes_single(self):98        # a quote character inside the value by itself is invalid99        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, "name = valu'e", '#')100    def test_empty_single(self):101        # easy102        self.assertEquals(['db', ''], self.dotenv.parse_line("db = ''", '#'))103    def test_empty_double(self):104        # easy105        self.assertEquals(['db', ''], self.dotenv.parse_line('db = ""', '#'))106    def test_empty_single_comment(self):107        # easy108        self.assertEquals(['db', ''], self.dotenv.parse_line("db = '' # database name", '#'))109    def test_empty_double_comment(self):110        # easy111        self.assertEquals(['db', ''], self.dotenv.parse_line('db = "" ; database name', ';'))112    def test_single_quotes(self):113        # I shouldn't get the quotes back.  Also white space should114        # be ignored still115        self.assertEquals(['db', 'dijere'], self.dotenv.parse_line("db = 'dijere' ", '#'))116    def test_double_quotes(self):117        # I shouldn't get the quotes back.  Also white space should118        # be ignored still119        self.assertEquals(['db', 'dijere'], self.dotenv.parse_line('db = "dijere" ', '#'))120    def test_no_closing_quote_single(self):121        # syntax error if we have an opening quote with no close122        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, "name = 'test", '#')123    def test_no_closing_quote_double(self):124        # syntax error if we have an opening quote with no close125        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, 'name = "test', '#')126    def test_double_quotes_with_comment(self):127        # comments after the quotes should be ignored (along with whitespace)128        self.assertEquals(['db', 'bob'], self.dotenv.parse_line('db = "bob" ; database name', ';'))129    def test_single_quotes_with_comment(self):130        # comments after the quotes should be ignored (along with whitespace)131        self.assertEquals(['db', 'bob'], self.dotenv.parse_line("db = 'bob' \t# database name", '#'))132    def test_text_outside_of_double(self):133        # anything outside of the quotes and before a comment results in a syntax error134        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, 'name = "test" sup # hey', '#')135    def test_text_outside_of_single(self):136        # anything outside of the quotes and before a comment results in a syntax error137        self.assertRaises(DotEnvSyntaxError, self.dotenv.parse_line, "name = 'test' sup ; hey", ';')138    def test_allow_ending_semicolon(self):139        # anything outside of the quotes and before a comment results in a syntax error140        # except allow to end the line with a semi-colon.141        self.assertEquals(['name', 'test'], self.dotenv.parse_line("name = 'test';", '#'))142    def test_escaped_single_quote(self):143        # quotes can be escaped inside quotes144        self.assertEquals(['db', "asdf'qwerty'"], self.dotenv.parse_line("db = 'asdf\\'qwerty\\''", '#'))145    def test_escaped_double_quote(self):146        # quotes can be escaped inside quotes147        self.assertEquals(['db', 'asdf"qwerty"'], self.dotenv.parse_line('db = "asdf\\"qwerty\\""', '#'))148    def test_preserve_other_slashes(self):149        # other slashes are left alone150        self.assertEquals(['db', 'asdf\\bob'], self.dotenv.parse_line('db = "asdf\\bob"', '#'))151    def test_double_quote_in_single_quote(self):152        # double quote inside single quotes are just regular characters153        self.assertEquals(['db', 'asdf"bob'], self.dotenv.parse_line("db = 'asdf\"bob'", '#'))154    def test_single_quote_in_double_quote(self):155        # single quote inside double quotes are just regular characters...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!!
