Generates a test runner: a nodejs script that runs our minified tests. Args: out_dir: directory name of the output directory. Must not have slashes, dots, etc.
(out_dir)
| 525 | |
| 526 | |
| 527 | def GenerateTestRunner(out_dir): |
| 528 | """Generates a test runner: a nodejs script that runs our minified tests. |
| 529 | |
| 530 | Args: |
| 531 | out_dir: directory name of the output directory. Must not have slashes, |
| 532 | dots, etc. |
| 533 | """ |
| 534 | logging.info('entering ...') |
| 535 | f = open('%s/test_runner' % out_dir, 'w') |
| 536 | extensions_dir = 'extensions' |
| 537 | # In the Github project, the extensions are located in a sibling directory |
| 538 | # to the validator rather than a child directory. |
| 539 | if not os.path.isdir(extensions_dir): |
| 540 | extensions_dir = '../extensions' |
| 541 | log_level = ('false' if os.environ.get('CI') else '\'dots\'') |
| 542 | f.write("""#!/usr/bin/env node |
| 543 | global.assert = require('assert'); |
| 544 | global.fs = require('fs'); |
| 545 | global.path = require('path'); |
| 546 | var JasmineRunner = require('jasmine'); |
| 547 | var Reporter = require('jasmine-console-reporter'); |
| 548 | var jasmine = new JasmineRunner(); |
| 549 | process.env.TESTDATA_ROOTS = 'testdata:%s' |
| 550 | require('./validator_test_minified'); |
| 551 | require('./htmlparser_test_minified'); |
| 552 | require('./parse-css_test_minified'); |
| 553 | require('./parse-url_test_minified'); |
| 554 | require('./amp4ads-parse-css_test_minified'); |
| 555 | require('./keyframes-parse-css_test_minified'); |
| 556 | require('./parse-srcset_test_minified'); |
| 557 | var reporter = new Reporter({verbosity: 1, activity: %s}); |
| 558 | jasmine.env.clearReporters(); |
| 559 | jasmine.env.addReporter(reporter); |
| 560 | jasmine.onComplete(function (passed) { |
| 561 | process.exit(passed ? 0 : 1); |
| 562 | }); |
| 563 | jasmine.execute(); |
| 564 | """ % (extensions_dir, log_level)) |
| 565 | os.chmod('%s/test_runner' % out_dir, 0o750) |
| 566 | logging.info('... success') |
| 567 | |
| 568 | |
| 569 | def RunTests(update_tests, out_dir): |