Best Python code snippet using lisa_python
instrumented_libraries.gyp
Source:instrumented_libraries.gyp  
1# Copyright 2013 The Chromium Authors. All rights reserved.2# Use of this source code is governed by a BSD-style license that can be3# found in the LICENSE file.4{5  'variables': {6    'verbose_libraries_build%': 0,7    'instrumented_libraries_jobs%': 1,8    'instrumented_libraries_cc%': '<!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/bin/clang',9    'instrumented_libraries_cxx%': '<!(cd <(DEPTH) && pwd -P)/<(make_clang_dir)/bin/clang++',10  },11  'libdir': 'lib',12  'ubuntu_release': '<!(lsb_release -cs)',13  'conditions': [14    ['asan==1', {15      'sanitizer_type': 'asan',16    }],17    ['msan==1', {18      'sanitizer_type': 'msan',19    }],20    ['tsan==1', {21      'sanitizer_type': 'tsan',22    }],23    ['use_goma==1', {24      'cc': '<(gomadir)/gomacc <(instrumented_libraries_cc)',25      'cxx': '<(gomadir)/gomacc <(instrumented_libraries_cxx)',26    }, {27      'cc': '<(instrumented_libraries_cc)',28      'cxx': '<(instrumented_libraries_cxx)',29    }],30  ],31  'target_defaults': {32    'build_method': 'destdir',33    # Every package must have --disable-static in configure flags to avoid34    # building unnecessary static libs. Ideally we should add it here.35    # Unfortunately, zlib1g doesn't support that flag and for some reason it36    # can't be removed with a GYP exclusion list. So instead we add that flag37    # manually to every package but zlib1g.38    'extra_configure_flags': [],39    'jobs': '<(instrumented_libraries_jobs)',40    'package_cflags': [41      '-O2',42      '-gline-tables-only',43      '-fPIC',44      '-w',45      '-U_FORITFY_SOURCE',46      '-fno-omit-frame-pointer'47    ],48    'package_ldflags': [49      '-Wl,-z,origin',50      # We set RPATH=XORIGIN when building the package and replace it with51      # $ORIGIN later. The reason is that this flag goes through configure/make52      # differently for different packages. Because of this, we can't escape the53      # $ character in a way that would work for every package.54      '-Wl,-R,XORIGIN/.'55    ],56    'patch': '',57    'pre_build': '',58    'asan_blacklist': '',59    'msan_blacklist': '',60    'tsan_blacklist': '',61    'conditions': [62      ['asan==1', {63        'package_cflags': ['-fsanitize=address'],64        'package_ldflags': ['-fsanitize=address'],65      }],66      ['msan==1', {67        'package_cflags': [68          '-fsanitize=memory',69          '-fsanitize-memory-track-origins=<(msan_track_origins)'70        ],71        'package_ldflags': ['-fsanitize=memory'],72      }],73      ['tsan==1', {74        'package_cflags': ['-fsanitize=thread'],75        'package_ldflags': ['-fsanitize=thread'],76      }],77    ],78  },79  'targets': [80    {81      'target_name': 'prebuilt_instrumented_libraries',82      'type': 'none',83      'variables': {84        'prune_self_dependency': 1,85        # Don't add this target to the dependencies of targets with type=none.86        'link_dependency': 1,87        'conditions': [88          ['msan==1', {89            'conditions': [90              ['msan_track_origins==2', {91                'archive_prefix': 'msan-chained-origins',92              }, {93                'conditions': [94                  ['msan_track_origins==0', {95                    'archive_prefix': 'msan-no-origins',96                  }, {97                    'archive_prefix': 'UNSUPPORTED_CONFIGURATION'98                  }],99              ]}],100          ]}, {101              'archive_prefix': 'UNSUPPORTED_CONFIGURATION'102          }],103        ],104      },105      'actions': [106        {107          'action_name': 'unpack_<(archive_prefix)-<(_ubuntu_release).tgz',108          'inputs': [109            'binaries/<(archive_prefix)-<(_ubuntu_release).tgz',110          ],111          'outputs': [112            '<(PRODUCT_DIR)/instrumented_libraries_prebuilt/<(archive_prefix).txt',113          ],114          'action': [115            'scripts/unpack_binaries.py',116            '<(archive_prefix)',117            'binaries',118            '<(PRODUCT_DIR)/instrumented_libraries_prebuilt/',119          ],120        },121      ],122      'direct_dependent_settings': {123        'target_conditions': [124          ['_toolset=="target"', {125            'ldflags': [126              # Add a relative RPATH entry to Chromium binaries. This puts127              # instrumented DSOs before system-installed versions in library128              # search path.129              '-Wl,-R,\$$ORIGIN/instrumented_libraries_prebuilt/<(_sanitizer_type)/<(_libdir)/',130              '-Wl,-z,origin',131            ],132          }],133        ],134      },135    },136    {137      'target_name': 'instrumented_libraries',138      'type': 'none',139      'variables': {140        'prune_self_dependency': 1,141        # Don't add this target to the dependencies of targets with type=none.142        'link_dependency': 1,143      },144      # NOTE: Please keep install-build-deps.sh in sync with this list.145      'dependencies': [146        '<(_sanitizer_type)-freetype',147        '<(_sanitizer_type)-libcairo2',148        '<(_sanitizer_type)-libexpat1',149        '<(_sanitizer_type)-libffi6',150        '<(_sanitizer_type)-libgcrypt11',151        '<(_sanitizer_type)-libgpg-error0',152        '<(_sanitizer_type)-libnspr4',153        '<(_sanitizer_type)-libp11-kit0',154        '<(_sanitizer_type)-libpcre3',155        '<(_sanitizer_type)-libpng12-0',156        '<(_sanitizer_type)-libx11-6',157        '<(_sanitizer_type)-libxau6',158        '<(_sanitizer_type)-libxcb1',159        '<(_sanitizer_type)-libxcomposite1',160        '<(_sanitizer_type)-libxcursor1',161        '<(_sanitizer_type)-libxdamage1',162        '<(_sanitizer_type)-libxdmcp6',163        '<(_sanitizer_type)-libxext6',164        '<(_sanitizer_type)-libxfixes3',165        '<(_sanitizer_type)-libxi6',166        '<(_sanitizer_type)-libxinerama1',167        '<(_sanitizer_type)-libxrandr2',168        '<(_sanitizer_type)-libxrender1',169        '<(_sanitizer_type)-libxss1',170        '<(_sanitizer_type)-libxtst6',171        '<(_sanitizer_type)-zlib1g',172        '<(_sanitizer_type)-libglib2.0-0',173        '<(_sanitizer_type)-libdbus-1-3',174        '<(_sanitizer_type)-libdbus-glib-1-2',175        '<(_sanitizer_type)-nss',176        '<(_sanitizer_type)-libfontconfig1',177        '<(_sanitizer_type)-pulseaudio',178        '<(_sanitizer_type)-libasound2',179        '<(_sanitizer_type)-pango1.0',180        '<(_sanitizer_type)-libcap2',181        '<(_sanitizer_type)-udev',182        '<(_sanitizer_type)-libgnome-keyring0',183        '<(_sanitizer_type)-libgtk2.0-0',184        '<(_sanitizer_type)-libgdk-pixbuf2.0-0',185        '<(_sanitizer_type)-libpci3',186        '<(_sanitizer_type)-libdbusmenu-glib4',187        '<(_sanitizer_type)-libgconf-2-4',188        '<(_sanitizer_type)-libappindicator1',189        '<(_sanitizer_type)-libdbusmenu',190        '<(_sanitizer_type)-atk1.0',191        '<(_sanitizer_type)-libunity9',192        '<(_sanitizer_type)-dee',193        '<(_sanitizer_type)-libpixman-1-0',194        '<(_sanitizer_type)-brltty',195        '<(_sanitizer_type)-libva1',196      ],197      'conditions': [198        ['"<(_ubuntu_release)"=="precise"', {199          'dependencies': [200            '<(_sanitizer_type)-libtasn1-3',201          ],202        }, {203          'dependencies': [204            # Trusty and above.205            '<(_sanitizer_type)-libtasn1-6',206            '<(_sanitizer_type)-harfbuzz',207            '<(_sanitizer_type)-libsecret',208          ],209        }],210        ['msan==1', {211          'dependencies': [212            '<(_sanitizer_type)-libcups2',213          ],214        }],215        ['tsan==1', {216          'dependencies!': [217            '<(_sanitizer_type)-libpng12-0',218          ],219        }],220      ],221      'direct_dependent_settings': {222        'target_conditions': [223          ['_toolset=="target"', {224            'ldflags': [225              # Add a relative RPATH entry to Chromium binaries. This puts226              # instrumented DSOs before system-installed versions in library227              # search path.228              '-Wl,-R,\$$ORIGIN/instrumented_libraries/<(_sanitizer_type)/<(_libdir)/',229              '-Wl,-z,origin',230            ],231          }],232        ],233      },234    },235    {236      'package_name': 'freetype',237      'dependencies=': [],238      'extra_configure_flags': ['--disable-static'],239      'pre_build': 'scripts/pre-build/freetype.sh',240      'includes': ['standard_instrumented_package_target.gypi'],241    },242    {243      'package_name': 'libcairo2',244      'dependencies=': [],245      'extra_configure_flags': [246          '--disable-gtk-doc',247          '--disable-static',248      ],249      'includes': ['standard_instrumented_package_target.gypi'],250    },251    {252      'package_name': 'libdbus-1-3',253      'dependencies=': [],254      'extra_configure_flags': [255        '--disable-static',256        # From debian/rules.257        '--disable-libaudit',258        '--enable-apparmor',259        '--enable-systemd',260        '--libexecdir=/lib/dbus-1.0',261        '--with-systemdsystemunitdir=/lib/systemd/system',262        '--disable-tests',263        '--exec-prefix=/',264        # From dh_auto_configure.265        '--prefix=/usr',266        '--localstatedir=/var',267      ],268      'includes': ['standard_instrumented_package_target.gypi'],269    },270    {271      'package_name': 'libdbus-glib-1-2',272      'dependencies=': [],273      'extra_configure_flags': [274          # Use system dbus-binding-tool. The just-built one is instrumented but275          # doesn't have the correct RPATH, and will crash.276          '--with-dbus-binding-tool=dbus-binding-tool',277          '--disable-static',278      ],279      'includes': ['standard_instrumented_package_target.gypi'],280    },281    {282      'package_name': 'libexpat1',283      'dependencies=': [],284      'extra_configure_flags': ['--disable-static'],285      'includes': ['standard_instrumented_package_target.gypi'],286    },287    {288      'package_name': 'libffi6',289      'dependencies=': [],290      'extra_configure_flags': ['--disable-static'],291      'includes': ['standard_instrumented_package_target.gypi'],292    },293    {294      'package_name': 'libfontconfig1',295      'dependencies=': [],296      'extra_configure_flags': [297        '--disable-docs',298        '--sysconfdir=/etc/',299        '--disable-static',300        # From debian/rules.301        '--with-add-fonts=/usr/X11R6/lib/X11/fonts,/usr/local/share/fonts',302      ],303      'conditions': [304        ['"<(_ubuntu_release)"=="precise"', {305          'patch': 'patches/libfontconfig.precise.diff',306        }, {307          'patch': 'patches/libfontconfig.trusty.diff',308        }],309      ],310      'includes': ['standard_instrumented_package_target.gypi'],311    },312    {313      'package_name': 'libgcrypt11',314      'dependencies=': [],315      'package_ldflags': ['-Wl,-z,muldefs'],316      'extra_configure_flags': [317        # From debian/rules.318        '--enable-noexecstack',319        '--enable-ld-version-script',320        '--disable-static',321        # http://crbug.com/344505322        '--disable-asm'323      ],324      'includes': ['standard_instrumented_package_target.gypi'],325    },326    {327      'package_name': 'libglib2.0-0',328      'dependencies=': [],329      'extra_configure_flags': [330        '--disable-gtk-doc',331        '--disable-gtk-doc-html',332        '--disable-gtk-doc-pdf',333        '--disable-static',334      ],335      'asan_blacklist': 'blacklists/asan/libglib2.0-0.txt',336      'msan_blacklist': 'blacklists/msan/libglib2.0-0.txt',337      'pre_build': 'scripts/pre-build/autogen.sh',338      'includes': ['standard_instrumented_package_target.gypi'],339    },340    {341      'package_name': 'libgpg-error0',342      'dependencies=': [],343      'extra_configure_flags': ['--disable-static'],344      'includes': ['standard_instrumented_package_target.gypi'],345    },346    {347      'package_name': 'libnspr4',348      'dependencies=': [],349      'extra_configure_flags': [350        '--enable-64bit',351        '--disable-static',352        # TSan reports data races on debug variables.353        '--disable-debug',354      ],355      'pre_build': 'scripts/pre-build/libnspr4.sh',356      'includes': ['standard_instrumented_package_target.gypi'],357    },358    {359      'package_name': 'libp11-kit0',360      'dependencies=': [],361      'extra_configure_flags': ['--disable-static'],362      # Required on Trusty due to autoconf version mismatch.363      'pre_build': 'scripts/pre-build/autoreconf.sh',364      'includes': ['standard_instrumented_package_target.gypi'],365    },366    {367      'package_name': 'libpcre3',368      'dependencies=': [],369      'extra_configure_flags': [370        '--enable-utf8',371        '--enable-unicode-properties',372        '--disable-static',373      ],374      'includes': ['standard_instrumented_package_target.gypi'],375    },376    {377      'package_name': 'libpixman-1-0',378      'dependencies=': [],379      'extra_configure_flags': [380        '--disable-static',381        # From debian/rules.382        '--disable-gtk',383        '--disable-silent-rules',384        # Avoid a clang issue. http://crbug.com/449183385        '--disable-mmx',386      ],387      'patch': 'patches/libpixman-1-0.diff',388      'includes': ['standard_instrumented_package_target.gypi'],389    },390    {391      'package_name': 'libpng12-0',392      'dependencies=': [],393      'extra_configure_flags': ['--disable-static'],394      'includes': ['standard_instrumented_package_target.gypi'],395    },396    {397      'package_name': 'libx11-6',398      'dependencies=': [],399      'extra_configure_flags': [400          '--disable-specs',401          '--disable-static',402      ],403      'msan_blacklist': 'blacklists/msan/libx11-6.txt',404      # Required on Trusty due to autoconf version mismatch.405      'pre_build': 'scripts/pre-build/autoreconf.sh',406      'includes': ['standard_instrumented_package_target.gypi'],407    },408    {409      'package_name': 'libxau6',410      'dependencies=': [],411      'extra_configure_flags': ['--disable-static'],412      'includes': ['standard_instrumented_package_target.gypi'],413    },414    {415      'package_name': 'libxcb1',416      'dependencies=': [],417      'extra_configure_flags': [418          '--disable-build-docs',419          '--disable-static',420      ],421      'conditions': [422        ['"<(_ubuntu_release)"=="precise"', {423          # Backport fix for https://bugs.freedesktop.org/show_bug.cgi?id=54671424          'patch': 'patches/libxcb1.precise.diff',425        }],426      ],427      # Required on Trusty due to autoconf version mismatch.428      'pre_build': 'scripts/pre-build/autoreconf.sh',429      'includes': ['standard_instrumented_package_target.gypi'],430    },431    {432      'package_name': 'libxcomposite1',433      'dependencies=': [],434      'extra_configure_flags': ['--disable-static'],435      'includes': ['standard_instrumented_package_target.gypi'],436    },437    {438      'package_name': 'libxcursor1',439      'dependencies=': [],440      'extra_configure_flags': ['--disable-static'],441      'includes': ['standard_instrumented_package_target.gypi'],442    },443    {444      'package_name': 'libxdamage1',445      'dependencies=': [],446      'extra_configure_flags': ['--disable-static'],447      'includes': ['standard_instrumented_package_target.gypi'],448    },449    {450      'package_name': 'libxdmcp6',451      'dependencies=': [],452      'extra_configure_flags': [453          '--disable-docs',454          '--disable-static',455      ],456      'includes': ['standard_instrumented_package_target.gypi'],457    },458    {459      'package_name': 'libxext6',460      'dependencies=': [],461      'extra_configure_flags': [462          '--disable-specs',463          '--disable-static',464      ],465      'includes': ['standard_instrumented_package_target.gypi'],466    },467    {468      'package_name': 'libxfixes3',469      'dependencies=': [],470      'extra_configure_flags': ['--disable-static'],471      'includes': ['standard_instrumented_package_target.gypi'],472    },473    {474      'package_name': 'libxi6',475      'dependencies=': [],476      'extra_configure_flags': [477        '--disable-specs',478        '--disable-docs',479        '--disable-static',480      ],481      'includes': ['standard_instrumented_package_target.gypi'],482    },483    {484      'package_name': 'libxinerama1',485      'dependencies=': [],486      'extra_configure_flags': ['--disable-static'],487      'includes': ['standard_instrumented_package_target.gypi'],488    },489    {490      'package_name': 'libxrandr2',491      'dependencies=': [],492      'extra_configure_flags': ['--disable-static'],493      'includes': ['standard_instrumented_package_target.gypi'],494    },495    {496      'package_name': 'libxrender1',497      'dependencies=': [],498      'extra_configure_flags': ['--disable-static'],499      'includes': ['standard_instrumented_package_target.gypi'],500    },501    {502      'package_name': 'libxss1',503      'dependencies=': [],504      'extra_configure_flags': ['--disable-static'],505      'includes': ['standard_instrumented_package_target.gypi'],506    },507    {508      'package_name': 'libxtst6',509      'dependencies=': [],510      'extra_configure_flags': [511          '--disable-specs',512          '--disable-static',513      ],514      'includes': ['standard_instrumented_package_target.gypi'],515    },516    {517      'package_name': 'zlib1g',518      'dependencies=': [],519      # --disable-static is not supported520      'patch': 'patches/zlib1g.diff',521      'includes': ['standard_instrumented_package_target.gypi'],522    },523    {524      'package_name': 'nss',525      'dependencies=': [526        # TODO(earthdok): get rid of this dependency527        '<(_sanitizer_type)-libnspr4',528      ],529      'patch': 'patches/nss.diff',530      'build_method': 'custom_nss',531      'includes': ['standard_instrumented_package_target.gypi'],532    },533    {534      'package_name': 'pulseaudio',535      'dependencies=': [],536      'conditions': [537        ['"<(_ubuntu_release)"=="precise"', {538          'patch': 'patches/pulseaudio.precise.diff',539          'jobs': 1,540        }, {541          # New location of libpulsecommon.542          'package_ldflags': [ '-Wl,-R,XORIGIN/pulseaudio/.' ],543        }],544      ],545      'extra_configure_flags': [546          '--disable-static',547          # From debian/rules.548          '--enable-x11',549          '--disable-hal-compat',550          # Disable some ARM-related code that fails compilation. No idea why551          # this even impacts x86-64 builds.552          '--disable-neon-opt'553      ],554      'pre_build': 'scripts/pre-build/pulseaudio.sh',555      'includes': ['standard_instrumented_package_target.gypi'],556    },557    {558      'package_name': 'libasound2',559      'dependencies=': [],560      'extra_configure_flags': ['--disable-static'],561      'pre_build': 'scripts/pre-build/libasound2.sh',562      'includes': ['standard_instrumented_package_target.gypi'],563    },564    {565      'package_name': 'libcups2',566      'dependencies=': [],567      'patch': 'patches/libcups2.diff',568      'jobs': 1,569      'extra_configure_flags': [570        '--disable-static',571        # All from debian/rules.572        '--localedir=/usr/share/cups/locale',573        '--enable-slp',574        '--enable-libpaper',575        '--enable-ssl',576        '--enable-gnutls',577        '--disable-openssl',578        '--enable-threads',579        '--enable-debug',580        '--enable-dbus',581        '--with-dbusdir=/etc/dbus-1',582        '--enable-gssapi',583        '--enable-avahi',584        '--with-pdftops=/usr/bin/gs',585        '--disable-launchd',586        '--with-cups-group=lp',587        '--with-system-groups=lpadmin',588        '--with-printcap=/var/run/cups/printcap',589        '--with-log-file-perm=0640',590        '--with-local_protocols="CUPS dnssd"',591        '--with-remote_protocols="CUPS dnssd"',592        '--enable-libusb',593      ],594      'includes': ['standard_instrumented_package_target.gypi'],595    },596    {597      'package_name': 'pango1.0',598      'dependencies=': [],599      'extra_configure_flags': [600        '--disable-static',601        # Avoid https://bugs.gentoo.org/show_bug.cgi?id=425620602        '--enable-introspection=no',603        # Pango is normally used with dynamically loaded modules. However,604        # ensuring pango is able to find instrumented versions of those modules605        # is a huge pain in the neck. Let's link them statically instead, and606        # hope for the best.607        '--with-included-modules=yes'608      ],609      'includes': ['standard_instrumented_package_target.gypi'],610    },611    {612      'package_name': 'libcap2',613      'dependencies=': [],614      'extra_configure_flags': ['--disable-static'],615      'build_method': 'custom_libcap',616      'includes': ['standard_instrumented_package_target.gypi'],617    },618    {619      'package_name': 'udev',620      'dependencies=': [],621      'extra_configure_flags': [622          '--disable-static',623          # Without this flag there's a linking step that doesn't honor LDFLAGS624          # and fails.625          # TODO(earthdok): find a better fix.626          '--disable-gudev'627      ],628      'pre_build': 'scripts/pre-build/udev.sh',629      'includes': ['standard_instrumented_package_target.gypi'],630    },631    {632      'package_name': 'libtasn1-3',633      'dependencies=': [],634      'extra_configure_flags': [635          '--disable-static',636          # From debian/rules.637          '--enable-ld-version-script',638      ],639      'includes': ['standard_instrumented_package_target.gypi'],640    },641    {642      'package_name': 'libtasn1-6',643      'dependencies=': [],644      'extra_configure_flags': [645          '--disable-static',646          # From debian/rules.647          '--enable-ld-version-script',648      ],649      'includes': ['standard_instrumented_package_target.gypi'],650    },651    {652      'package_name': 'libgnome-keyring0',653      'extra_configure_flags': [654          '--disable-static',655          '--enable-tests=no',656          # Make the build less problematic.657          '--disable-introspection',658      ],659      'package_ldflags': ['-Wl,--as-needed'],660      'dependencies=': [],661      'includes': ['standard_instrumented_package_target.gypi'],662    },663    {664      'package_name': 'libgtk2.0-0',665      'package_cflags': ['-Wno-return-type'],666      'extra_configure_flags': [667          '--disable-static',668          # From debian/rules.669          '--prefix=/usr',670          '--sysconfdir=/etc',671          '--enable-test-print-backend',672          '--enable-introspection=no',673          '--with-xinput=yes',674      ],675      'dependencies=': [],676      'conditions': [677        ['"<(_ubuntu_release)"=="precise"', {678          'patch': 'patches/libgtk2.0-0.precise.diff',679        }, {680          'patch': 'patches/libgtk2.0-0.trusty.diff',681        }],682      ],683      'pre_build': 'scripts/pre-build/libgtk2.0-0.sh',684      'includes': ['standard_instrumented_package_target.gypi'],685    },686    {687      'package_name': 'libgdk-pixbuf2.0-0',688      'extra_configure_flags': [689          '--disable-static',690          # From debian/rules.691          '--with-libjasper',692          '--with-x11',693          # Make the build less problematic.694          '--disable-introspection',695          # Do not use loadable modules. Same as with Pango, there's no easy way696          # to make gdk-pixbuf pick instrumented versions over system-installed697          # ones.698          '--disable-modules',699      ],700      'dependencies=': [],701      'pre_build': 'scripts/pre-build/libgdk-pixbuf2.0-0.sh',702      'includes': ['standard_instrumented_package_target.gypi'],703    },704    {705      'package_name': 'libpci3',706      'dependencies=': [],707      'extra_configure_flags': ['--disable-static'],708      'build_method': 'custom_libpci3',709      'jobs': 1,710      'includes': ['standard_instrumented_package_target.gypi'],711    },712    {713      'package_name': 'libdbusmenu-glib4',714      'extra_configure_flags': [715          '--disable-static',716          # From debian/rules.717          '--disable-scrollkeeper',718          '--enable-gtk-doc',719          # --enable-introspection introduces a build step that attempts to run720          # a just-built binary and crashes. Vala requires introspection.721          # TODO(earthdok): find a better fix.722          '--disable-introspection',723          '--disable-vala',724      ],725      'dependencies=': [],726      'pre_build': 'scripts/pre-build/autogen.sh',727      'includes': ['standard_instrumented_package_target.gypi'],728    },729    {730      'package_name': 'libgconf-2-4',731      'extra_configure_flags': [732          '--disable-static',733          # From debian/rules. (Even though --with-gtk=3.0 doesn't make sense.)734          '--with-gtk=3.0',735          '--disable-orbit',736          # See above.737          '--disable-introspection',738      ],739      'dependencies=': [],740      'includes': ['standard_instrumented_package_target.gypi'],741    },742    {743      'package_name': 'libappindicator1',744      'extra_configure_flags': [745          '--disable-static',746          # See above.747          '--disable-introspection',748      ],749      'dependencies=': [],750      'jobs': 1,751      'pre_build': 'scripts/pre-build/autogen.sh',752      'includes': ['standard_instrumented_package_target.gypi'],753    },754    {755      'package_name': 'libdbusmenu',756      'extra_configure_flags': [757          '--disable-static',758          # From debian/rules.759          '--disable-scrollkeeper',760          '--with-gtk=2',761          # See above.762          '--disable-introspection',763          '--disable-vala',764      ],765      'dependencies=': [],766      'pre_build': 'scripts/pre-build/autogen.sh',767      'includes': ['standard_instrumented_package_target.gypi'],768    },769    {770      'package_name': 'atk1.0',771      'extra_configure_flags': [772          '--disable-static',773          # See above.774          '--disable-introspection',775      ],776      'dependencies=': [],777      'includes': ['standard_instrumented_package_target.gypi'],778    },779    {780      'package_name': 'libunity9',781      'dependencies=': [],782      'extra_configure_flags': ['--disable-static'],783      'pre_build': 'scripts/pre-build/autogen.sh',784      'includes': ['standard_instrumented_package_target.gypi'],785    },786    {787      'package_name': 'dee',788      'extra_configure_flags': [789          '--disable-static',790          # See above.791          '--disable-introspection',792      ],793      'dependencies=': [],794      'pre_build': 'scripts/pre-build/autogen.sh',795      'includes': ['standard_instrumented_package_target.gypi'],796    },797    {798      'package_name': 'harfbuzz',799      'package_cflags': ['-Wno-c++11-narrowing'],800      'extra_configure_flags': [801          '--disable-static',802          # From debian/rules.803          '--with-graphite2=yes',804          '--with-gobject',805          # See above.806          '--disable-introspection',807      ],808      'dependencies=': [],809      'includes': ['standard_instrumented_package_target.gypi'],810    },811    {812      'package_name': 'brltty',813      'extra_configure_flags': [814          '--disable-static',815          # From debian/rules.816          '--without-viavoice',817          '--without-theta',818          '--without-swift',819          '--bindir=/sbin',820          '--with-curses=ncursesw',821          '--disable-stripping',822          # We don't need any of those.823          '--disable-java-bindings',824          '--disable-lisp-bindings',825          '--disable-ocaml-bindings',826          '--disable-python-bindings',827          '--disable-tcl-bindings'828      ],829      'dependencies=': [],830      'includes': ['standard_instrumented_package_target.gypi'],831    },832    {833      'package_name': 'libva1',834      'dependencies=': [],835      'extra_configure_flags': ['--disable-static'],836      # Backport a use-after-free fix:837      # http://cgit.freedesktop.org/libva/diff/va/va.c?h=staging&id=d4988142a3f2256e38c5c5cdcdfc1b4f5f3c1ea9838      'patch': 'patches/libva1.diff',839      'pre_build': 'scripts/pre-build/libva1.sh',840      'includes': ['standard_instrumented_package_target.gypi'],841    },842    {843      'package_name': 'libsecret',844      'dependencies=': [],845      'extra_configure_flags': [846          '--disable-static',847          # See above.848          '--disable-introspection',849      ],850      'pre_build': 'scripts/pre-build/autoreconf.sh',851      'includes': ['standard_instrumented_package_target.gypi'],852    },853  ],...disable.py
Source:disable.py  
...69                    return True70    @run_async71    @connection_status72    @user_admin73    def disable(bot: Bot, update: Update, args: List[str]):74        chat = update.effective_chat75        if len(args) >= 1:76            disable_cmd = args[0]77            if disable_cmd.startswith(CMD_STARTERS):78                disable_cmd = disable_cmd[1:]79            if disable_cmd in set(DISABLE_CMDS + DISABLE_OTHER):80                sql.disable_command(chat.id, str(disable_cmd).lower())81                update.effective_message.reply_text(f"Disabled the use of `{disable_cmd}`",82                                                    parse_mode=ParseMode.MARKDOWN)83            else:84                update.effective_message.reply_text("That command can't be disabled")85        else:86            update.effective_message.reply_text("What should I disable?")87    @run_async...mockData.js
Source:mockData.js  
1import {STATE} from "./common";2export const valueData = {3    id: 'happy_yj',4    consignation: {"testType":["软件确认æµè¯","ææ/ææ¯é´å®æµè¯"],"softwareName":"å¿«ä¹æçå°æ¨æ°","version":"v1.9","developUnit":"å°çªä½©å¥æéå
¬å¸","unitProp":"å¤(å)èµä¼ä¸","softwareScale":{},"operateEnvironment":{"client":{},"service":{"hardware":{},"software":{}},"sampleQuantity":{"softwareMedia":{}}}}5};6export const customerData = {7    clientDigest: "dfcbbdfef1f8561cc04cf219736922c07af9be789ca53aa24af6594e89e81ccb",8    functions: [{9      object: "Consign",10      function: "creator",11    },{12      object: "Contract",13      function: "confirmer",14    },{15      object: "Report",16      function: "confirmer",17    }18    ],19};20export const marketingData = {21    clientDigest: "dfcbbdfef1f8561cc04cf219736922c07af9be789ca53aa24af6594e89e81ccb",22    functions: [{23        object: "Consign",24        function: "confirmer",25    },{26        object: "Contract",27        function: "creator",28    },{29        object: "Report",30        function: "creator",31    }32    ],33};34export  const mockConsignData = [{35}];36export const mockProjectData = [{37    id : "110",38    name : "å¿«ä¹æçå°æ¨æ°",39    customerId : "151220140",40    status: STATE.CANCELED,41    state : {42        consign : STATE.FINISHED,43        contract : STATE.TO_CHECK,44        testPlan : STATE.TO_SUBMIT,45        testReport : STATE.TO_SUBMIT,46        endProject : STATE.TO_SUBMIT47    }48},{49    id : "120",50    name : "ä¸å¿«ä¹æçå°æ¨æ°",51    customerId : "151220140",52    status: STATE.CANCELED,53    state : {54        consign : STATE.FINISHED,55        contract : STATE.FINISHED,56        testPlan : STATE.TO_SUBMIT,57        testReport : STATE.TO_SUBMIT,58        endProject : STATE.TO_SUBMIT59    }60},{61    id : "119",62    name : "ä¸å¿«ä¹æçèæ¨æ°",63    customerId : "151220140",64    status: STATE.CANCELED,65    state : {66        consign : STATE.FINISHED,67        contract : STATE.FINISHED,68        testPlan : STATE.FINISHED,69        testReport : STATE.TO_SUBMIT,70        endProject : STATE.TO_SUBMIT71    }72}];73export const mockSiderData = (isCustomer,isMarketing,isTesting,isQuality) => [{74    key : "1",75    disable : false,76    name : "项ç®å表",77},{78    key : "2",79    disable : !(isCustomer||isMarketing),80    name : "å§æå表",81},{82    key : "3",83    disable : !(isCustomer||isMarketing),84    name : "æµè¯ååå表",85},{86    key : "4",87    disable : !(isTesting||isQuality),88    name : "æµè¯æ¹æ¡å表",89},{90    key : "5",91    disable : !(isTesting||isQuality),92    name : "æµè¯ç¨ä¾å表",93},{94    key : "8",95    disable : false,96    name : "æµè¯æ¥åå表",97},{98    key : "9",99    disable : !(isQuality),100    name : "æ¥åæ£æ¥å表",101},{102    key : "10",103    disable : !(isQuality),104    name : "工使£æ¥å表",105},{106    key : "11",107    disable : !(isCustomer||isMarketing),108    name : "满æåº¦è°æ¥å表",109}];110export const mockFileData = (isCustomer) => [{111    key : 1,112    disable : false,113    name : "å§æç³è¯·è¡¨",114},{115    key : 2,116    disable : false,117    name : "æµè¯åå书",118},{119    key : 3,120    disable : isCustomer,121    name : "æµè¯æ¹æ¡ä¹¦",122},{123    key : 4,124    disable : isCustomer,125    name : "æµè¯ç¨ä¾è¡¨",126},{127    key : 7,128    disable : false,129    name : "æµè¯æ¥å书",130},{131    key : 8,132    disable : isCustomer,133    name : "æµè¯æ¥åæ£æ¥è¡¨",134},{135    key : 9,136    disable : isCustomer,137    name : "æµè¯å·¥ä½æ£æ¥è¡¨",138},{139    key : 10,140    disable : false,141    name : "满æåº¦è°æ¥è¡¨",142}];143export const mockMenuData = (isCustomer) => [{144    type : "SubMenu",145    key : "sub0",146    disable : false,147    name : "项ç®",148    icon : "pie-chart",149    menuItems : [{150        key : "1",151        disable : false,152        name : "项ç®å表",153    }]154},{155    type : "SubMenu",156    key : "sub1",157    disable : false,158    name : "å§æ",159    icon : "user",160    menuItems : [{161        key : "2",162        disable : false,163        name : "å§æå表",164    }]165},{166    type : "SubMenu",167    key : "sub2",168    disable : false,169    name : "åå",170    icon : "team",171    menuItems : [{172        key : "3",173        disable : false,174        name : "æµè¯ååå表",175    }]176},{177    type : "SubMenu",178    key : "sub3",179    disable : isCustomer,180    name : "æµè¯",181    icon : "copy",182    menuItems : [{183        key : "4",184        disable : isCustomer,185        name : "æµè¯æ¹æ¡å表",186    },{187        key : "5",188        disable : isCustomer,189        name : "æµè¯ç¨ä¾å表",190    }]191},{192    type : "SubMenu",193    key : "sub4",194    disable : false,195    name : "æ¥å",196    icon : "appstore-o",197    menuItems : [{198        key : "8",199        disable : false,200        name : "æµè¯æ¥åå表",201    },{202        key : "9",203        disable : isCustomer,204        name : "æµè¯æ¥åæ£æ¥å表",205    }]206},{207    type : "SubMenu",208    key : "sub5",209    disable : false,210    name : "ç»é¡¹",211    icon : "smile-o",212    menuItems : [{213        key : "10",214        disable : isCustomer,215        name : "æµè¯å·¥ä½æ£æ¥å表",216    },{217        key : "11",218        disable : false,219        name : "满æåº¦è°æ¥å表",220    }]...night.py
Source:night.py  
1"""night Plugin for Sensible_userbot2Syntax: .night REASON"""3import asyncio4import datetime5from telethon import events6from telethon.tl import functions, types7from userbot import ALIVE_NAME8from REBELBOT.utils import admin_cmd9from userbot.cmdhelp import CmdHelp10global USER_night  # pylint:disable=E060211global night_time  # pylint:disable=E060212global last_night_message  # pylint:disable=E060213USER_night = {}14night_time = None15last_night_message = {}16DEFAULTUSER = (17    str(ALIVE_NAME) if ALIVE_NAME else "REBEL User"18)19@borg.on(events.NewMessage(outgoing=True))  # pylint:disable=E060220async def set_not_night(event):21    global USER_night  # pylint:disable=E060222    global night_time  # pylint:disable=E060223    global last_night_message  # pylint:disable=E060224    current_message = event.message.message25    if ".night" not in current_message and "yes" in USER_night:  # pylint:disable=E060226        try:27            await borg.send_message(  # pylint:disable=E060228                Config.PLUGIN_CHANNEL,  # pylint:disable=E060229                f"Mine Owner has Gone to Sleep (Pure Din Sota hi Rehta He {DEFAULTUSER} )",30            )31        except Exception as e:  # pylint:disable=C0103,W070332            await borg.send_message(  # pylint:disable=E060233                event.chat_id,34                "Please set `PLUGIN_CHANNEL` "35                + "for the proper functioning of night functionality "36                + "report in [REBELBOT](t.me/REBELBOT_SUPPORT)\n\n `{}`".format(str(e)),37                reply_to=event.message.id,38                silent=True,39            )40        USER_night = {}  # pylint:disable=E060241        night_time = None  # pylint:disable=E060242@borg.on(admin_cmd(pattern=r"night ?(.*)"))43async def _(event):44    if event.fwd_from:45        return46    global USER_night  # pylint:disable=E060247    global night_time  # pylint:disable=E060248    global last_night_message  # pylint:disable=E060249    global reason50    USER_night = {}51    night_time = None52    last_night_message = {}53    reason = event.pattern_match.group(1)54    if not USER_night:  # pylint:disable=E060255        last_seen_status = await borg(  # pylint:disable=E060256            functions.account.GetPrivacyRequest(types.InputPrivacyKeyStatusTimestamp())57        )58        if isinstance(last_seen_status.rules, types.PrivacyValueAllowAll):59            night_time = datetime.datetime.now()  # pylint:disable=E060260        USER_night = f"yes: {reason}"  # pylint:disable=E060261        if reason:62            await event.edit(f"My Boss Is Going To sleep  Dnd ðð¤ð´ ")63        else:64            await event.edit(f"My Boss is Going To Sleep")65        await asyncio.sleep(5)66        await event.delete()67        try:68            await borg.send_message(  # pylint:disable=E060269                Config.PLUGIN_CHANNEL, f"My BOss Wants So Sleep"  # pylint:disable=E060270            )71        except Exception as e:  # pylint:disable=C0103,W070372            logger.warn(str(e))  # pylint:disable=E060273@borg.on(74    events.NewMessage(  # pylint:disable=E060275        incoming=True, func=lambda e: bool(e.mentioned or e.is_private)76    )77)78async def on_night(event):79    if event.fwd_from:80        return81    global USER_night  # pylint:disable=E060282    global night_time  # pylint:disable=E060283    global last_night_message  # pylint:disable=E060284    night_since = "**a while ago**"85    current_message_text = event.message.message.lower()86    if "night" in current_message_text:87        # userbot's should not reply to other userbot's88        # https://core.telegram.org/bots/faq#why-doesn-39t-my-bot-see-messages-from-other-bots89        return False90    if USER_night and not (await event.get_sender()).bot:  # pylint:disable=E060291        if night_time:  # pylint:disable=E060292            now = datetime.datetime.now()93            datime_since_night = now - night_time  # pylint:disable=E060294            time = float(datime_since_night.seconds)95            days = time // (24 * 3600)96            time = time % (24 * 3600)97            hours = time // 360098            time %= 360099            minutes = time // 60100            time %= 60101            seconds = time102            if days == 1:103                night_since = "**Yesterday**"104            elif days > 1:105                if days > 6:106                    date = now + datetime.timedelta(107                        days=-days, hours=-hours, minutes=-minutes108                    )109                    night_since = date.strftime("%A, %Y %B %m, %H:%I")110                else:111                    wday = now + datetime.timedelta(days=-days)112                    night_since = wday.strftime("%A")113            elif hours > 1:114                night_since = f"`{int(hours)}h{int(minutes)}m` **ago**"115            elif minutes > 0:116                night_since = f"`{int(minutes)}m{int(seconds)}s` **ago**"117            else:118                night_since = f"`{int(seconds)}s` **ago**"119        msg = None120        message_to_reply = (121            f"My Master Has Been Gone For {night_since}\nWhere He Is: **On Bed Sleeping** "122            + f"\n\n__ I'll back in a few Light years__\n**"123            if reason124            else f"**Important Notice**\n\n{DEFAULTUSER} Is Sleeping DND And Also Good [night To You...](https://telegra.ph/file/3e6d2fb965f293e3680ff.jpg) "125        )126        msg = await event.reply(message_to_reply)127        await asyncio.sleep(5)128        if event.chat_id in last_night_message:  # pylint:disable=E0602129            await last_night_message[event.chat_id].delete()  # pylint:disable=E0602130        last_night_message[event.chat_id] = msg  # pylint:disable=E0602131CmdHelp("night").add_command(132  "night", None, "Same like AFK. But fixed reason and for sleeping purpose only. Sed ;_;"...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!!
