Best Python code snippet using locust
validateConfig.js
Source:validateConfig.js
1'use strict';2var equal = require('ajv/lib/compile/equal');3var validate = (function() {4 var pattern0 = new RegExp('^[0-9]+$');5 var refVal = [];6 var refVal1 = (function() {7 var pattern0 = new RegExp('^[0-9]+$');8 return function validate(data, dataPath, parentData, parentDataProperty, rootData) {9 'use strict';10 var vErrors = null;11 var errors = 0;12 if (rootData === undefined) rootData = data;13 if ((data && typeof data === "object" && !Array.isArray(data))) {14 var errs__0 = errors;15 var valid1 = true;16 for (var key0 in data) {17 var isAdditional0 = !(false || validate.schema.properties.hasOwnProperty(key0));18 if (isAdditional0) {19 valid1 = false;20 var err = {21 keyword: 'additionalProperties',22 dataPath: (dataPath || '') + "",23 schemaPath: '#/additionalProperties',24 params: {25 additionalProperty: '' + key0 + ''26 },27 message: 'should NOT have additional properties'28 };29 if (vErrors === null) vErrors = [err];30 else vErrors.push(err);31 errors++;32 }33 }34 if (data.topBody !== undefined) {35 var errs_1 = errors;36 if (!refVal2(data.topBody, (dataPath || '') + '.topBody', data, 'topBody', rootData)) {37 if (vErrors === null) vErrors = refVal2.errors;38 else vErrors = vErrors.concat(refVal2.errors);39 errors = vErrors.length;40 }41 var valid1 = errors === errs_1;42 }43 if (data.topJoin !== undefined) {44 var errs_1 = errors;45 if (!refVal[2](data.topJoin, (dataPath || '') + '.topJoin', data, 'topJoin', rootData)) {46 if (vErrors === null) vErrors = refVal[2].errors;47 else vErrors = vErrors.concat(refVal[2].errors);48 errors = vErrors.length;49 }50 var valid1 = errors === errs_1;51 }52 if (data.topLeft !== undefined) {53 var errs_1 = errors;54 if (!refVal[2](data.topLeft, (dataPath || '') + '.topLeft', data, 'topLeft', rootData)) {55 if (vErrors === null) vErrors = refVal[2].errors;56 else vErrors = vErrors.concat(refVal[2].errors);57 errors = vErrors.length;58 }59 var valid1 = errors === errs_1;60 }61 if (data.topRight !== undefined) {62 var errs_1 = errors;63 if (!refVal[2](data.topRight, (dataPath || '') + '.topRight', data, 'topRight', rootData)) {64 if (vErrors === null) vErrors = refVal[2].errors;65 else vErrors = vErrors.concat(refVal[2].errors);66 errors = vErrors.length;67 }68 var valid1 = errors === errs_1;69 }70 if (data.bottomBody !== undefined) {71 var errs_1 = errors;72 if (!refVal[2](data.bottomBody, (dataPath || '') + '.bottomBody', data, 'bottomBody', rootData)) {73 if (vErrors === null) vErrors = refVal[2].errors;74 else vErrors = vErrors.concat(refVal[2].errors);75 errors = vErrors.length;76 }77 var valid1 = errors === errs_1;78 }79 if (data.bottomJoin !== undefined) {80 var errs_1 = errors;81 if (!refVal[2](data.bottomJoin, (dataPath || '') + '.bottomJoin', data, 'bottomJoin', rootData)) {82 if (vErrors === null) vErrors = refVal[2].errors;83 else vErrors = vErrors.concat(refVal[2].errors);84 errors = vErrors.length;85 }86 var valid1 = errors === errs_1;87 }88 if (data.bottomLeft !== undefined) {89 var errs_1 = errors;90 if (!refVal[2](data.bottomLeft, (dataPath || '') + '.bottomLeft', data, 'bottomLeft', rootData)) {91 if (vErrors === null) vErrors = refVal[2].errors;92 else vErrors = vErrors.concat(refVal[2].errors);93 errors = vErrors.length;94 }95 var valid1 = errors === errs_1;96 }97 if (data.bottomRight !== undefined) {98 var errs_1 = errors;99 if (!refVal[2](data.bottomRight, (dataPath || '') + '.bottomRight', data, 'bottomRight', rootData)) {100 if (vErrors === null) vErrors = refVal[2].errors;101 else vErrors = vErrors.concat(refVal[2].errors);102 errors = vErrors.length;103 }104 var valid1 = errors === errs_1;105 }106 if (data.bodyLeft !== undefined) {107 var errs_1 = errors;108 if (!refVal[2](data.bodyLeft, (dataPath || '') + '.bodyLeft', data, 'bodyLeft', rootData)) {109 if (vErrors === null) vErrors = refVal[2].errors;110 else vErrors = vErrors.concat(refVal[2].errors);111 errors = vErrors.length;112 }113 var valid1 = errors === errs_1;114 }115 if (data.bodyRight !== undefined) {116 var errs_1 = errors;117 if (!refVal[2](data.bodyRight, (dataPath || '') + '.bodyRight', data, 'bodyRight', rootData)) {118 if (vErrors === null) vErrors = refVal[2].errors;119 else vErrors = vErrors.concat(refVal[2].errors);120 errors = vErrors.length;121 }122 var valid1 = errors === errs_1;123 }124 if (data.bodyJoin !== undefined) {125 var errs_1 = errors;126 if (!refVal[2](data.bodyJoin, (dataPath || '') + '.bodyJoin', data, 'bodyJoin', rootData)) {127 if (vErrors === null) vErrors = refVal[2].errors;128 else vErrors = vErrors.concat(refVal[2].errors);129 errors = vErrors.length;130 }131 var valid1 = errors === errs_1;132 }133 if (data.joinBody !== undefined) {134 var errs_1 = errors;135 if (!refVal[2](data.joinBody, (dataPath || '') + '.joinBody', data, 'joinBody', rootData)) {136 if (vErrors === null) vErrors = refVal[2].errors;137 else vErrors = vErrors.concat(refVal[2].errors);138 errors = vErrors.length;139 }140 var valid1 = errors === errs_1;141 }142 if (data.joinLeft !== undefined) {143 var errs_1 = errors;144 if (!refVal[2](data.joinLeft, (dataPath || '') + '.joinLeft', data, 'joinLeft', rootData)) {145 if (vErrors === null) vErrors = refVal[2].errors;146 else vErrors = vErrors.concat(refVal[2].errors);147 errors = vErrors.length;148 }149 var valid1 = errors === errs_1;150 }151 if (data.joinRight !== undefined) {152 var errs_1 = errors;153 if (!refVal[2](data.joinRight, (dataPath || '') + '.joinRight', data, 'joinRight', rootData)) {154 if (vErrors === null) vErrors = refVal[2].errors;155 else vErrors = vErrors.concat(refVal[2].errors);156 errors = vErrors.length;157 }158 var valid1 = errors === errs_1;159 }160 if (data.joinJoin !== undefined) {161 var errs_1 = errors;162 if (!refVal[2](data.joinJoin, (dataPath || '') + '.joinJoin', data, 'joinJoin', rootData)) {163 if (vErrors === null) vErrors = refVal[2].errors;164 else vErrors = vErrors.concat(refVal[2].errors);165 errors = vErrors.length;166 }167 var valid1 = errors === errs_1;168 }169 } else {170 var err = {171 keyword: 'type',172 dataPath: (dataPath || '') + "",173 schemaPath: '#/type',174 params: {175 type: 'object'176 },177 message: 'should be object'178 };179 if (vErrors === null) vErrors = [err];180 else vErrors.push(err);181 errors++;182 }183 validate.errors = vErrors;184 return errors === 0;185 };186 })();187 refVal1.schema = {188 "type": "object",189 "properties": {190 "topBody": {191 "$ref": "#/definitions/border"192 },193 "topJoin": {194 "$ref": "#/definitions/border"195 },196 "topLeft": {197 "$ref": "#/definitions/border"198 },199 "topRight": {200 "$ref": "#/definitions/border"201 },202 "bottomBody": {203 "$ref": "#/definitions/border"204 },205 "bottomJoin": {206 "$ref": "#/definitions/border"207 },208 "bottomLeft": {209 "$ref": "#/definitions/border"210 },211 "bottomRight": {212 "$ref": "#/definitions/border"213 },214 "bodyLeft": {215 "$ref": "#/definitions/border"216 },217 "bodyRight": {218 "$ref": "#/definitions/border"219 },220 "bodyJoin": {221 "$ref": "#/definitions/border"222 },223 "joinBody": {224 "$ref": "#/definitions/border"225 },226 "joinLeft": {227 "$ref": "#/definitions/border"228 },229 "joinRight": {230 "$ref": "#/definitions/border"231 },232 "joinJoin": {233 "$ref": "#/definitions/border"234 }235 },236 "additionalProperties": false237 };238 refVal1.errors = null;239 refVal[1] = refVal1;240 var refVal2 = (function() {241 var pattern0 = new RegExp('^[0-9]+$');242 return function validate(data, dataPath, parentData, parentDataProperty, rootData) {243 'use strict';244 var vErrors = null;245 var errors = 0;246 if (typeof data !== "string") {247 var err = {248 keyword: 'type',249 dataPath: (dataPath || '') + "",250 schemaPath: '#/type',251 params: {252 type: 'string'253 },254 message: 'should be string'255 };256 if (vErrors === null) vErrors = [err];257 else vErrors.push(err);258 errors++;259 }260 validate.errors = vErrors;261 return errors === 0;262 };263 })();264 refVal2.schema = {265 "type": "string"266 };267 refVal2.errors = null;268 refVal[2] = refVal2;269 var refVal3 = (function() {270 var pattern0 = new RegExp('^[0-9]+$');271 return function validate(data, dataPath, parentData, parentDataProperty, rootData) {272 'use strict';273 var vErrors = null;274 var errors = 0;275 if (rootData === undefined) rootData = data;276 if ((data && typeof data === "object" && !Array.isArray(data))) {277 var errs__0 = errors;278 var valid1 = true;279 for (var key0 in data) {280 var isAdditional0 = !(false || pattern0.test(key0));281 if (isAdditional0) {282 valid1 = false;283 var err = {284 keyword: 'additionalProperties',285 dataPath: (dataPath || '') + "",286 schemaPath: '#/additionalProperties',287 params: {288 additionalProperty: '' + key0 + ''289 },290 message: 'should NOT have additional properties'291 };292 if (vErrors === null) vErrors = [err];293 else vErrors.push(err);294 errors++;295 }296 }297 for (var key0 in data) {298 if (pattern0.test(key0)) {299 var errs_1 = errors;300 if (!refVal4(data[key0], (dataPath || '') + '[\'' + key0 + '\']', data, key0, rootData)) {301 if (vErrors === null) vErrors = refVal4.errors;302 else vErrors = vErrors.concat(refVal4.errors);303 errors = vErrors.length;304 }305 var valid1 = errors === errs_1;306 }307 }308 } else {309 var err = {310 keyword: 'type',311 dataPath: (dataPath || '') + "",312 schemaPath: '#/type',313 params: {314 type: 'object'315 },316 message: 'should be object'317 };318 if (vErrors === null) vErrors = [err];319 else vErrors.push(err);320 errors++;321 }322 validate.errors = vErrors;323 return errors === 0;324 };325 })();326 refVal3.schema = {327 "type": "object",328 "patternProperties": {329 "^[0-9]+$": {330 "$ref": "#/definitions/column"331 }332 },333 "additionalProperties": false334 };335 refVal3.errors = null;336 refVal[3] = refVal3;337 var refVal4 = (function() {338 var pattern0 = new RegExp('^[0-9]+$');339 return function validate(data, dataPath, parentData, parentDataProperty, rootData) {340 'use strict';341 var vErrors = null;342 var errors = 0;343 if ((data && typeof data === "object" && !Array.isArray(data))) {344 var errs__0 = errors;345 var valid1 = true;346 for (var key0 in data) {347 var isAdditional0 = !(false || key0 == 'alignment' || key0 == 'width' || key0 == 'wrapWord' || key0 == 'truncate' || key0 == 'paddingLeft' || key0 == 'paddingRight');348 if (isAdditional0) {349 valid1 = false;350 var err = {351 keyword: 'additionalProperties',352 dataPath: (dataPath || '') + "",353 schemaPath: '#/additionalProperties',354 params: {355 additionalProperty: '' + key0 + ''356 },357 message: 'should NOT have additional properties'358 };359 if (vErrors === null) vErrors = [err];360 else vErrors.push(err);361 errors++;362 }363 }364 var data1 = data.alignment;365 if (data1 !== undefined) {366 var errs_1 = errors;367 if (typeof data1 !== "string") {368 var err = {369 keyword: 'type',370 dataPath: (dataPath || '') + '.alignment',371 schemaPath: '#/properties/alignment/type',372 params: {373 type: 'string'374 },375 message: 'should be string'376 };377 if (vErrors === null) vErrors = [err];378 else vErrors.push(err);379 errors++;380 }381 var schema1 = validate.schema.properties.alignment.enum;382 var valid1;383 valid1 = false;384 for (var i1 = 0; i1 < schema1.length; i1++)385 if (equal(data1, schema1[i1])) {386 valid1 = true;387 break;388 } if (!valid1) {389 var err = {390 keyword: 'enum',391 dataPath: (dataPath || '') + '.alignment',392 schemaPath: '#/properties/alignment/enum',393 params: {394 allowedValues: schema1395 },396 message: 'should be equal to one of the allowed values'397 };398 if (vErrors === null) vErrors = [err];399 else vErrors.push(err);400 errors++;401 }402 var valid1 = errors === errs_1;403 }404 if (data.width !== undefined) {405 var errs_1 = errors;406 if (typeof data.width !== "number") {407 var err = {408 keyword: 'type',409 dataPath: (dataPath || '') + '.width',410 schemaPath: '#/properties/width/type',411 params: {412 type: 'number'413 },414 message: 'should be number'415 };416 if (vErrors === null) vErrors = [err];417 else vErrors.push(err);418 errors++;419 }420 var valid1 = errors === errs_1;421 }422 if (data.wrapWord !== undefined) {423 var errs_1 = errors;424 if (typeof data.wrapWord !== "boolean") {425 var err = {426 keyword: 'type',427 dataPath: (dataPath || '') + '.wrapWord',428 schemaPath: '#/properties/wrapWord/type',429 params: {430 type: 'boolean'431 },432 message: 'should be boolean'433 };434 if (vErrors === null) vErrors = [err];435 else vErrors.push(err);436 errors++;437 }438 var valid1 = errors === errs_1;439 }440 if (data.truncate !== undefined) {441 var errs_1 = errors;442 if (typeof data.truncate !== "number") {443 var err = {444 keyword: 'type',445 dataPath: (dataPath || '') + '.truncate',446 schemaPath: '#/properties/truncate/type',447 params: {448 type: 'number'449 },450 message: 'should be number'451 };452 if (vErrors === null) vErrors = [err];453 else vErrors.push(err);454 errors++;455 }456 var valid1 = errors === errs_1;457 }458 if (data.paddingLeft !== undefined) {459 var errs_1 = errors;460 if (typeof data.paddingLeft !== "number") {461 var err = {462 keyword: 'type',463 dataPath: (dataPath || '') + '.paddingLeft',464 schemaPath: '#/properties/paddingLeft/type',465 params: {466 type: 'number'467 },468 message: 'should be number'469 };470 if (vErrors === null) vErrors = [err];471 else vErrors.push(err);472 errors++;473 }474 var valid1 = errors === errs_1;475 }476 if (data.paddingRight !== undefined) {477 var errs_1 = errors;478 if (typeof data.paddingRight !== "number") {479 var err = {480 keyword: 'type',481 dataPath: (dataPath || '') + '.paddingRight',482 schemaPath: '#/properties/paddingRight/type',483 params: {484 type: 'number'485 },486 message: 'should be number'487 };488 if (vErrors === null) vErrors = [err];489 else vErrors.push(err);490 errors++;491 }492 var valid1 = errors === errs_1;493 }494 } else {495 var err = {496 keyword: 'type',497 dataPath: (dataPath || '') + "",498 schemaPath: '#/type',499 params: {500 type: 'object'501 },502 message: 'should be object'503 };504 if (vErrors === null) vErrors = [err];505 else vErrors.push(err);506 errors++;507 }508 validate.errors = vErrors;509 return errors === 0;510 };511 })();512 refVal4.schema = {513 "type": "object",514 "properties": {515 "alignment": {516 "type": "string",517 "enum": ["left", "right", "center"]518 },519 "width": {520 "type": "number"521 },522 "wrapWord": {523 "type": "boolean"524 },525 "truncate": {526 "type": "number"527 },528 "paddingLeft": {529 "type": "number"530 },531 "paddingRight": {532 "type": "number"533 }534 },535 "additionalProperties": false536 };537 refVal4.errors = null;538 refVal[4] = refVal4;539 return function validate(data, dataPath, parentData, parentDataProperty, rootData) {540 'use strict'; /*# sourceURL=config.json */541 var vErrors = null;542 var errors = 0;543 if (rootData === undefined) rootData = data;544 if ((data && typeof data === "object" && !Array.isArray(data))) {545 var errs__0 = errors;546 var valid1 = true;547 for (var key0 in data) {548 var isAdditional0 = !(false || key0 == 'border' || key0 == 'columns' || key0 == 'columnDefault' || key0 == 'drawHorizontalLine');549 if (isAdditional0) {550 valid1 = false;551 var err = {552 keyword: 'additionalProperties',553 dataPath: (dataPath || '') + "",554 schemaPath: '#/additionalProperties',555 params: {556 additionalProperty: '' + key0 + ''557 },558 message: 'should NOT have additional properties'559 };560 if (vErrors === null) vErrors = [err];561 else vErrors.push(err);562 errors++;563 }564 }565 if (data.border !== undefined) {566 var errs_1 = errors;567 if (!refVal1(data.border, (dataPath || '') + '.border', data, 'border', rootData)) {568 if (vErrors === null) vErrors = refVal1.errors;569 else vErrors = vErrors.concat(refVal1.errors);570 errors = vErrors.length;571 }572 var valid1 = errors === errs_1;573 }574 if (data.columns !== undefined) {575 var errs_1 = errors;576 if (!refVal3(data.columns, (dataPath || '') + '.columns', data, 'columns', rootData)) {577 if (vErrors === null) vErrors = refVal3.errors;578 else vErrors = vErrors.concat(refVal3.errors);579 errors = vErrors.length;580 }581 var valid1 = errors === errs_1;582 }583 if (data.columnDefault !== undefined) {584 var errs_1 = errors;585 if (!refVal[4](data.columnDefault, (dataPath || '') + '.columnDefault', data, 'columnDefault', rootData)) {586 if (vErrors === null) vErrors = refVal[4].errors;587 else vErrors = vErrors.concat(refVal[4].errors);588 errors = vErrors.length;589 }590 var valid1 = errors === errs_1;591 }592 if (data.drawHorizontalLine !== undefined) {593 var errs_1 = errors;594 var errs__1 = errors;595 var valid1;596 valid1 = typeof data.drawHorizontalLine == "function";597 if (!valid1) {598 if (errs__1 == errors) {599 var err = {600 keyword: 'typeof',601 dataPath: (dataPath || '') + '.drawHorizontalLine',602 schemaPath: '#/properties/drawHorizontalLine/typeof',603 params: {604 keyword: 'typeof'605 },606 message: 'should pass "typeof" keyword validation'607 };608 if (vErrors === null) vErrors = [err];609 else vErrors.push(err);610 errors++;611 } else {612 for (var i1 = errs__1; i1 < errors; i1++) {613 var ruleErr1 = vErrors[i1];614 if (ruleErr1.dataPath === undefined) ruleErr1.dataPath = (dataPath || '') + '.drawHorizontalLine';615 if (ruleErr1.schemaPath === undefined) {616 ruleErr1.schemaPath = "#/properties/drawHorizontalLine/typeof";617 }618 }619 }620 }621 var valid1 = errors === errs_1;622 }623 } else {624 var err = {625 keyword: 'type',626 dataPath: (dataPath || '') + "",627 schemaPath: '#/type',628 params: {629 type: 'object'630 },631 message: 'should be object'632 };633 if (vErrors === null) vErrors = [err];634 else vErrors.push(err);635 errors++;636 }637 validate.errors = vErrors;638 return errors === 0;639 };640})();641validate.schema = {642 "$id": "config.json",643 "$schema": "http://json-schema.org/draft-07/schema#",644 "type": "object",645 "properties": {646 "border": {647 "$ref": "#/definitions/borders"648 },649 "columns": {650 "$ref": "#/definitions/columns"651 },652 "columnDefault": {653 "$ref": "#/definitions/column"654 },655 "drawHorizontalLine": {656 "typeof": "function"657 }658 },659 "additionalProperties": false,660 "definitions": {661 "columns": {662 "type": "object",663 "patternProperties": {664 "^[0-9]+$": {665 "$ref": "#/definitions/column"666 }667 },668 "additionalProperties": false669 },670 "column": {671 "type": "object",672 "properties": {673 "alignment": {674 "type": "string",675 "enum": ["left", "right", "center"]676 },677 "width": {678 "type": "number"679 },680 "wrapWord": {681 "type": "boolean"682 },683 "truncate": {684 "type": "number"685 },686 "paddingLeft": {687 "type": "number"688 },689 "paddingRight": {690 "type": "number"691 }692 },693 "additionalProperties": false694 },695 "borders": {696 "type": "object",697 "properties": {698 "topBody": {699 "$ref": "#/definitions/border"700 },701 "topJoin": {702 "$ref": "#/definitions/border"703 },704 "topLeft": {705 "$ref": "#/definitions/border"706 },707 "topRight": {708 "$ref": "#/definitions/border"709 },710 "bottomBody": {711 "$ref": "#/definitions/border"712 },713 "bottomJoin": {714 "$ref": "#/definitions/border"715 },716 "bottomLeft": {717 "$ref": "#/definitions/border"718 },719 "bottomRight": {720 "$ref": "#/definitions/border"721 },722 "bodyLeft": {723 "$ref": "#/definitions/border"724 },725 "bodyRight": {726 "$ref": "#/definitions/border"727 },728 "bodyJoin": {729 "$ref": "#/definitions/border"730 },731 "joinBody": {732 "$ref": "#/definitions/border"733 },734 "joinLeft": {735 "$ref": "#/definitions/border"736 },737 "joinRight": {738 "$ref": "#/definitions/border"739 },740 "joinJoin": {741 "$ref": "#/definitions/border"742 }743 },744 "additionalProperties": false745 },746 "border": {747 "type": "string"748 }749 }750};751validate.errors = null;...
test_mixins.py
Source:test_mixins.py
...201 serializer = MainSerializer(data=data)202 assert(not serializer.is_valid(raise_exception=False))203 assert(serializer.errors['field_errors'] == {})204 assert(serializer.errors['non_field_errors'] == [{'code': 'parent-non-field-error'}, ])205 def test_nested_serializer_with_drf_and_custom_errors(self):206 data = {207 'int_field': 1,208 'custom_field': 'something',209 'list_field': [],210 'nested_field': {211 'custom_field': 'raise_multiple_field_errors',212 'list_field': [1, 2, 'a']213 },214 'nested_field_unformatted': {215 'custom_field': 'raise_multiple_field_errors',216 'list_field': [1, 2, 'a']217 },218 'nested_list_field': [],219 'nested_list_field_unformatted': []...
test_tidy.py
Source:test_tidy.py
1# Copyright 2013 The Servo Project Developers. See the COPYRIGHT2# file at the top-level directory of this distribution.3#4# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or5# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license6# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your7# option. This file may not be copied, modified, or distributed8# except according to those terms.9import os10import unittest11from servo_tidy import tidy12base_path = 'servo_tidy_tests/' if os.path.exists('servo_tidy_tests/') else 'python/tidy/servo_tidy_tests/'13def iterFile(name):14 return iter([os.path.join(base_path, name)])15class CheckTidiness(unittest.TestCase):16 def assertNoMoreErrors(self, errors):17 with self.assertRaises(StopIteration):18 errors.next()19 def test_tidy_config(self):20 errors = tidy.check_config_file(os.path.join(base_path, 'servo-tidy.toml'), print_text=False)21 self.assertEqual("invalid config key 'key-outside'", errors.next()[2])22 self.assertEqual("invalid config key 'wrong-key'", errors.next()[2])23 self.assertEqual('invalid config table [wrong]', errors.next()[2])24 self.assertEqual("ignored file './fake/file.html' doesn't exist", errors.next()[2])25 self.assertEqual("ignored directory './fake/dir' doesn't exist", errors.next()[2])26 self.assertNoMoreErrors(errors)27 def test_directory_checks(self):28 dirs = {29 os.path.join(base_path, "dir_check/webidl_plus"): ['webidl', 'test'],30 os.path.join(base_path, "dir_check/only_webidl"): ['webidl']31 }32 errors = tidy.check_directory_files(dirs)33 error_dir = os.path.join(base_path, "dir_check/webidl_plus")34 self.assertEqual("Unexpected extension found for test.rs. We only expect files with webidl, test extensions in {0}".format(error_dir), errors.next()[2])35 self.assertEqual("Unexpected extension found for test2.rs. We only expect files with webidl, test extensions in {0}".format(error_dir), errors.next()[2])36 self.assertNoMoreErrors(errors)37 def test_spaces_correctnes(self):38 errors = tidy.collect_errors_for_files(iterFile('wrong_space.rs'), [], [tidy.check_by_line], print_text=False)39 self.assertEqual('trailing whitespace', errors.next()[2])40 self.assertEqual('no newline at EOF', errors.next()[2])41 self.assertEqual('tab on line', errors.next()[2])42 self.assertEqual('CR on line', errors.next()[2])43 self.assertEqual('no newline at EOF', errors.next()[2])44 self.assertNoMoreErrors(errors)45 def test_empty_file(self):46 errors = tidy.collect_errors_for_files(iterFile('empty_file.rs'), [], [tidy.check_by_line], print_text=False)47 self.assertEqual('file is empty', errors.next()[2])48 self.assertNoMoreErrors(errors)49 def test_long_line(self):50 errors = tidy.collect_errors_for_files(iterFile('long_line.rs'), [], [tidy.check_by_line], print_text=False)51 self.assertEqual('Line is longer than 120 characters', errors.next()[2])52 self.assertNoMoreErrors(errors)53 def test_whatwg_link(self):54 errors = tidy.collect_errors_for_files(iterFile('whatwg_link.rs'), [], [tidy.check_by_line], print_text=False)55 self.assertTrue('link to WHATWG may break in the future, use this format instead:' in errors.next()[2])56 self.assertTrue('links to WHATWG single-page url, change to multi page:' in errors.next()[2])57 self.assertNoMoreErrors(errors)58 def test_license(self):59 errors = tidy.collect_errors_for_files(iterFile('incorrect_license.rs'), [], [tidy.check_license], print_text=False)60 self.assertEqual('incorrect license', errors.next()[2])61 self.assertNoMoreErrors(errors)62 def test_shebang_license(self):63 errors = tidy.collect_errors_for_files(iterFile('shebang_license.py'), [], [tidy.check_license], print_text=False)64 self.assertEqual('missing blank line after shebang', errors.next()[2])65 self.assertNoMoreErrors(errors)66 def test_shell(self):67 errors = tidy.collect_errors_for_files(iterFile('shell_tidy.sh'), [], [tidy.check_shell], print_text=False)68 self.assertEqual('script does not have shebang "#!/usr/bin/env bash"', errors.next()[2])69 self.assertEqual('script is missing options "set -o errexit", "set -o pipefail"', errors.next()[2])70 self.assertEqual('script should not use backticks for command substitution', errors.next()[2])71 self.assertEqual('variable substitutions should use the full \"${VAR}\" form', errors.next()[2])72 self.assertEqual('script should use `[[` instead of `[` for conditional testing', errors.next()[2])73 self.assertEqual('script should use `[[` instead of `[` for conditional testing', errors.next()[2])74 self.assertNoMoreErrors(errors)75 def test_apache2_incomplete(self):76 errors = tidy.collect_errors_for_files(iterFile('apache2_license.rs'), [], [tidy.check_license])77 self.assertEqual('incorrect license', errors.next()[2])78 def test_rust(self):79 errors = tidy.collect_errors_for_files(iterFile('rust_tidy.rs'), [], [tidy.check_rust], print_text=False)80 self.assertEqual('extra space after use', errors.next()[2])81 self.assertEqual('extra space after {', errors.next()[2])82 self.assertEqual('extra space before }', errors.next()[2])83 self.assertEqual('use statement spans multiple lines', errors.next()[2])84 self.assertEqual('missing space before }', errors.next()[2])85 self.assertTrue('use statement is not in alphabetical order' in errors.next()[2])86 self.assertEqual('use statement contains braces for single import', errors.next()[2])87 self.assertTrue('use statement is not in alphabetical order' in errors.next()[2])88 self.assertEqual('encountered whitespace following a use statement', errors.next()[2])89 self.assertTrue('mod declaration is not in alphabetical order' in errors.next()[2])90 self.assertEqual('mod declaration spans multiple lines', errors.next()[2])91 self.assertTrue('extern crate declaration is not in alphabetical order' in errors.next()[2])92 self.assertEqual('found an empty line following a {', errors.next()[2])93 self.assertEqual('missing space before ->', errors.next()[2])94 self.assertEqual('missing space after ->', errors.next()[2])95 self.assertEqual('missing space after :', errors.next()[2])96 self.assertEqual('missing space before {', errors.next()[2])97 self.assertEqual('missing space before =', errors.next()[2])98 self.assertEqual('missing space after =', errors.next()[2])99 self.assertEqual('missing space before -', errors.next()[2])100 self.assertEqual('missing space before *', errors.next()[2])101 self.assertEqual('missing space after =>', errors.next()[2])102 self.assertEqual('missing space after :', errors.next()[2])103 self.assertEqual('missing space after :', errors.next()[2])104 self.assertEqual('extra space before :', errors.next()[2])105 self.assertEqual('extra space before :', errors.next()[2])106 self.assertEqual('use &[T] instead of &Vec<T>', errors.next()[2])107 self.assertEqual('use &str instead of &String', errors.next()[2])108 self.assertEqual('use &T instead of &Root<T>', errors.next()[2])109 self.assertEqual('encountered function signature with -> ()', errors.next()[2])110 self.assertEqual('operators should go at the end of the first line', errors.next()[2])111 self.assertEqual('else braces should be on the same line', errors.next()[2])112 self.assertEqual('extra space after (', errors.next()[2])113 self.assertEqual('extra space after (', errors.next()[2])114 self.assertEqual('extra space after (', errors.next()[2])115 self.assertEqual('extra space after test_fun', errors.next()[2])116 self.assertEqual('no = in the beginning of line', errors.next()[2])117 self.assertEqual('space before { is not a multiple of 4', errors.next()[2])118 self.assertEqual('space before } is not a multiple of 4', errors.next()[2])119 self.assertEqual('extra space after if', errors.next()[2])120 self.assertNoMoreErrors(errors)121 feature_errors = tidy.collect_errors_for_files(iterFile('lib.rs'), [], [tidy.check_rust], print_text=False)122 self.assertTrue('feature attribute is not in alphabetical order' in feature_errors.next()[2])123 self.assertTrue('feature attribute is not in alphabetical order' in feature_errors.next()[2])124 self.assertTrue('feature attribute is not in alphabetical order' in feature_errors.next()[2])125 self.assertTrue('feature attribute is not in alphabetical order' in feature_errors.next()[2])126 self.assertNoMoreErrors(feature_errors)127 ban_errors = tidy.collect_errors_for_files(iterFile('ban.rs'), [], [tidy.check_rust], print_text=False)128 self.assertEqual('Banned type Cell<JSVal> detected. Use MutJS<JSVal> instead', ban_errors.next()[2])129 self.assertNoMoreErrors(ban_errors)130 ban_errors = tidy.collect_errors_for_files(iterFile('ban-domrefcell.rs'), [], [tidy.check_rust], print_text=False)131 self.assertEqual('Banned type DOMRefCell<JS<T>> detected. Use MutJS<JS<T>> instead', ban_errors.next()[2])132 self.assertNoMoreErrors(ban_errors)133 def test_spec_link(self):134 tidy.SPEC_BASE_PATH = base_path135 errors = tidy.collect_errors_for_files(iterFile('speclink.rs'), [], [tidy.check_spec], print_text=False)136 self.assertEqual('method declared in webidl is missing a comment with a specification link', errors.next()[2])137 self.assertEqual('method declared in webidl is missing a comment with a specification link', errors.next()[2])138 self.assertNoMoreErrors(errors)139 def test_script_thread(self):140 errors = tidy.collect_errors_for_files(iterFile('script_thread.rs'), [], [tidy.check_rust], print_text=False)141 self.assertEqual('use a separate variable for the match expression', errors.next()[2])142 self.assertEqual('use a separate variable for the match expression', errors.next()[2])143 self.assertNoMoreErrors(errors)144 def test_webidl(self):145 errors = tidy.collect_errors_for_files(iterFile('spec.webidl'), [tidy.check_webidl_spec], [], print_text=False)146 self.assertEqual('No specification link found.', errors.next()[2])147 self.assertNoMoreErrors(errors)148 def test_toml(self):149 errors = tidy.collect_errors_for_files(iterFile('Cargo.toml'), [tidy.check_toml], [], print_text=False)150 self.assertEqual('found asterisk instead of minimum version number', errors.next()[2])151 self.assertEqual('.toml file should contain a valid license.', errors.next()[2])152 self.assertNoMoreErrors(errors)153 def test_modeline(self):154 errors = tidy.collect_errors_for_files(iterFile('modeline.txt'), [], [tidy.check_modeline], print_text=False)155 self.assertEqual('vi modeline present', errors.next()[2])156 self.assertEqual('vi modeline present', errors.next()[2])157 self.assertEqual('vi modeline present', errors.next()[2])158 self.assertEqual('emacs file variables present', errors.next()[2])159 self.assertEqual('emacs file variables present', errors.next()[2])160 self.assertNoMoreErrors(errors)161 def test_malformed_json(self):162 errors = tidy.collect_errors_for_files(iterFile('malformed_json.json'), [tidy.check_json], [], print_text=False)163 self.assertEqual('Invalid control character at: line 3 column 40 (char 61)', errors.next()[2])164 self.assertNoMoreErrors(errors)165 def test_json_with_duplicate_key(self):166 errors = tidy.collect_errors_for_files(iterFile('duplicate_key.json'), [tidy.check_json], [], print_text=False)167 self.assertEqual('Duplicated Key (the_duplicated_key)', errors.next()[2])168 self.assertNoMoreErrors(errors)169 def test_json_with_unordered_keys(self):170 tidy.config["check-ordered-json-keys"].append('python/tidy/servo_tidy_tests/unordered_key.json')171 errors = tidy.collect_errors_for_files(iterFile('unordered_key.json'), [tidy.check_json], [], print_text=False)172 self.assertEqual('Unordered key (found b before a)', errors.next()[2])173 self.assertNoMoreErrors(errors)174 def test_yaml_with_duplicate_key(self):175 errors = tidy.collect_errors_for_files(iterFile('duplicate_keys_buildbot_steps.yml'), [tidy.check_yaml], [], print_text=False)176 self.assertEqual('Duplicated Key (duplicate_yaml_key)', errors.next()[2])177 self.assertNoMoreErrors(errors)178 def test_non_list_mapped_buildbot_steps(self):179 errors = tidy.collect_errors_for_files(iterFile('non_list_mapping_buildbot_steps.yml'), [tidy.check_yaml], [], print_text=False)180 self.assertEqual("Key 'non-list-key' maps to type 'str', but list expected", errors.next()[2])181 self.assertNoMoreErrors(errors)182 def test_non_string_list_mapping_buildbot_steps(self):183 errors = tidy.collect_errors_for_files(iterFile('non_string_list_buildbot_steps.yml'), [tidy.check_yaml], [], print_text=False)184 self.assertEqual("List mapped to 'mapping_key' contains non-string element", errors.next()[2])185 self.assertNoMoreErrors(errors)186 def test_lock(self):187 errors = tidy.collect_errors_for_files(iterFile('duplicated_package.lock'), [tidy.check_lock], [], print_text=False)188 msg = """duplicate versions for package `test`189\t\x1b[93mThe following packages depend on version 0.4.9 from 'crates.io':\x1b[0m190\t\ttest2191\t\x1b[93mThe following packages depend on version 0.5.1 from 'crates.io':\x1b[0m"""192 self.assertEqual(msg, errors.next()[2])193 msg2 = """duplicate versions for package `test3`194\t\x1b[93mThe following packages depend on version 0.5.1 from 'crates.io':\x1b[0m195\t\ttest4196\t\x1b[93mThe following packages depend on version 0.5.1 from 'https://github.com/user/test3':\x1b[0m197\t\ttest5"""198 self.assertEqual(msg2, errors.next()[2])199 self.assertNoMoreErrors(errors)200 def test_lint_runner(self):201 test_path = base_path + 'lints/'202 runner = tidy.LintRunner(only_changed_files=False, progress=False)203 runner.path = test_path + 'some-fictional-file'204 self.assertEqual([(runner.path, 0, "file does not exist")], list(runner.check()))205 runner.path = test_path + 'not_script'206 self.assertEqual([(runner.path, 0, "lint should be a python script")],207 list(runner.check()))208 runner.path = test_path + 'not_inherited.py'209 self.assertEqual([(runner.path, 1, "class 'Lint' should inherit from 'LintRunner'")],210 list(runner.check()))211 runner.path = test_path + 'no_lint.py'212 self.assertEqual([(runner.path, 1, "script should contain a class named 'Lint'")],213 list(runner.check()))214 runner.path = test_path + 'no_run.py'215 self.assertEqual([(runner.path, 0, "class 'Lint' should implement 'run' method")],216 list(runner.check()))217 runner.path = test_path + 'invalid_error_tuple.py'218 self.assertEqual([(runner.path, 1, "errors should be a tuple of (path, line, reason)")],219 list(runner.check()))220 runner.path = test_path + 'proper_file.py'221 self.assertEqual([('path', 0, "foobar")], list(runner.check()))222 def test_file_list(self):223 base_path='./python/tidy/servo_tidy_tests/test_ignored'224 file_list = tidy.FileList(base_path, only_changed_files=False, exclude_dirs=[])225 lst = list(file_list)226 self.assertEqual([os.path.join(base_path, 'whee', 'test.rs'), os.path.join(base_path, 'whee', 'foo', 'bar.rs')], lst)227 file_list = tidy.FileList(base_path, only_changed_files=False,228 exclude_dirs=[os.path.join(base_path, 'whee', 'foo')])229 lst = list(file_list)230 self.assertEqual([os.path.join(base_path, 'whee', 'test.rs')], lst)231def do_tests():232 suite = unittest.TestLoader().loadTestsFromTestCase(CheckTidiness)...
errors_test.py
Source:errors_test.py
1# Copyright 2015 The TensorFlow Authors. All Rights Reserved.2#3# Licensed under the Apache License, Version 2.0 (the "License");4# you may not use this file except in compliance with the License.5# You may obtain a copy of the License at6#7# http://www.apache.org/licenses/LICENSE-2.08#9# Unless required by applicable law or agreed to in writing, software10# distributed under the License is distributed on an "AS IS" BASIS,11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.12# See the License for the specific language governing permissions and13# limitations under the License.14# ==============================================================================15"""Tests for tensorflow.python.framework.errors."""16from __future__ import absolute_import17from __future__ import division18from __future__ import print_function19import gc20import pickle21import warnings22from tensorflow.core.lib.core import error_codes_pb223from tensorflow.python import _pywrap_file_io24from tensorflow.python.framework import c_api_util25from tensorflow.python.framework import errors26from tensorflow.python.framework import errors_impl27from tensorflow.python.platform import test28from tensorflow.python.util import compat29class ErrorsTest(test.TestCase):30 def _CountReferences(self, typeof):31 """Count number of references to objects of type |typeof|."""32 objs = gc.get_objects()33 ref_count = 034 for o in objs:35 try:36 if isinstance(o, typeof):37 ref_count += 138 # Certain versions of python keeps a weakref to deleted objects.39 except ReferenceError:40 pass41 return ref_count42 def testUniqueClassForEachErrorCode(self):43 for error_code, exc_type in [44 (errors.CANCELLED, errors_impl.CancelledError),45 (errors.UNKNOWN, errors_impl.UnknownError),46 (errors.INVALID_ARGUMENT, errors_impl.InvalidArgumentError),47 (errors.DEADLINE_EXCEEDED, errors_impl.DeadlineExceededError),48 (errors.NOT_FOUND, errors_impl.NotFoundError),49 (errors.ALREADY_EXISTS, errors_impl.AlreadyExistsError),50 (errors.PERMISSION_DENIED, errors_impl.PermissionDeniedError),51 (errors.UNAUTHENTICATED, errors_impl.UnauthenticatedError),52 (errors.RESOURCE_EXHAUSTED, errors_impl.ResourceExhaustedError),53 (errors.FAILED_PRECONDITION, errors_impl.FailedPreconditionError),54 (errors.ABORTED, errors_impl.AbortedError),55 (errors.OUT_OF_RANGE, errors_impl.OutOfRangeError),56 (errors.UNIMPLEMENTED, errors_impl.UnimplementedError),57 (errors.INTERNAL, errors_impl.InternalError),58 (errors.UNAVAILABLE, errors_impl.UnavailableError),59 (errors.DATA_LOSS, errors_impl.DataLossError),60 ]:61 # pylint: disable=protected-access62 self.assertTrue(63 isinstance(64 errors_impl._make_specific_exception(None, None, None,65 error_code), exc_type))66 # error_code_from_exception_type and exception_type_from_error_code should67 # be consistent with operation result.68 self.assertEqual(error_code,69 errors_impl.error_code_from_exception_type(exc_type))70 # pylint: enable=protected-access71 def testKnownErrorClassForEachErrorCodeInProto(self):72 for error_code in error_codes_pb2.Code.values():73 # pylint: disable=line-too-long74 if error_code in (75 error_codes_pb2.OK, error_codes_pb2.76 DO_NOT_USE_RESERVED_FOR_FUTURE_EXPANSION_USE_DEFAULT_IN_SWITCH_INSTEAD_77 ):78 continue79 # pylint: enable=line-too-long80 with warnings.catch_warnings(record=True) as w:81 # pylint: disable=protected-access82 exc = errors_impl._make_specific_exception(None, None, None, error_code)83 # pylint: enable=protected-access84 self.assertEqual(0, len(w)) # No warning is raised.85 self.assertTrue(isinstance(exc, errors_impl.OpError))86 self.assertTrue(errors_impl.OpError in exc.__class__.__bases__)87 def testUnknownErrorCodeCausesWarning(self):88 with warnings.catch_warnings(record=True) as w:89 # pylint: disable=protected-access90 exc = errors_impl._make_specific_exception(None, None, None, 37)91 # pylint: enable=protected-access92 self.assertEqual(1, len(w))93 self.assertTrue("Unknown error code: 37" in str(w[0].message))94 self.assertTrue(isinstance(exc, errors_impl.OpError))95 with warnings.catch_warnings(record=True) as w:96 # pylint: disable=protected-access97 exc = errors_impl.error_code_from_exception_type("Unknown")98 # pylint: enable=protected-access99 self.assertEqual(1, len(w))100 self.assertTrue("Unknown class exception" in str(w[0].message))101 self.assertTrue(isinstance(exc, errors_impl.OpError))102 def testStatusDoesNotLeak(self):103 try:104 _pywrap_file_io.DeleteFile(compat.as_bytes("/DOES_NOT_EXIST/"))105 except:106 pass107 gc.collect()108 self.assertEqual(0, self._CountReferences(c_api_util.ScopedTFStatus))109 def testPickleable(self):110 for error_code in [111 errors.CANCELLED,112 errors.UNKNOWN,113 errors.INVALID_ARGUMENT,114 errors.DEADLINE_EXCEEDED,115 errors.NOT_FOUND,116 errors.ALREADY_EXISTS,117 errors.PERMISSION_DENIED,118 errors.UNAUTHENTICATED,119 errors.RESOURCE_EXHAUSTED,120 errors.FAILED_PRECONDITION,121 errors.ABORTED,122 errors.OUT_OF_RANGE,123 errors.UNIMPLEMENTED,124 errors.INTERNAL,125 errors.UNAVAILABLE,126 errors.DATA_LOSS,127 ]:128 # pylint: disable=protected-access129 exc = errors_impl._make_specific_exception(None, None, None, error_code)130 # pylint: enable=protected-access131 unpickled = pickle.loads(pickle.dumps(exc))132 self.assertEqual(exc.node_def, unpickled.node_def)133 self.assertEqual(exc.op, unpickled.op)134 self.assertEqual(exc.message, unpickled.message)135 self.assertEqual(exc.error_code, unpickled.error_code)136if __name__ == "__main__":...
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!!