Vishnu Ks
e4b72c3a65
Move respond_to_message to compose.js.
2016-06-29 13:04:02 -07:00
Tim Abbott
5ce0637da9
run-mypy: Explode exclude lists to specific files.
2016-06-28 16:42:59 -07:00
Tim Abbott
56e7a2f6f3
Annotate zerver.migrations.
2016-06-28 16:38:33 -07:00
Tim Abbott
c8aae360be
test-backend: Fix spelling of an example in usage text.
2016-06-28 16:24:58 -07:00
Tim Abbott
7ed0ab8c4a
Ensure Zulip virtualenvs are world-readable.
...
This is important for both ensuring the Nagios checks work correctly
in production, as well as making sure the `zulip` user can access the
virtualenv (owned by the `travis` user) in Travis CI.
2016-06-28 12:03:01 -07:00
Tim Abbott
40aa8a2336
clean-venv-cache: Fix python 3 compatibility.
2016-06-27 20:39:22 -07:00
Tim Abbott
404c61ba97
clean-venv-cache: Use better approach to pruning caches.
...
Rather than looking at which venvs are used by this particular build,
we instead look at which venvs have a hash that is the hash_reqs value
of a current requirements.txt file.
2016-06-27 20:30:39 -07:00
Tim Abbott
7d5c1864f7
clean-venv-cache: Avoid cleaning production venvs.
2016-06-27 20:08:45 -07:00
Tim Abbott
beb8b50623
Move provision.py under tools/.
2016-06-27 19:04:32 -07:00
Tim Abbott
e1860e5b46
Remove tools/provision/zulip-dev.conf.
...
This was originally supervisord configuration for the Zulip
development environment; it never really worked how we wanted it to.
2016-06-27 19:04:32 -07:00
acrefoot
7ff89dc137
Add markdown-specific whitespace lint rule to /tools/lint-all.
...
Match one space or three+ spaces after content, or positive
number of spaces on an empty line.
2016-06-27 18:43:20 -07:00
Aakash Tyagi
9154d93669
Added help text for running single backend tests.
2016-06-27 14:15:30 -07:00
Tim Abbott
101820bc29
Move docker development environment scripts to tools/.
...
scripts/ is for scripts which are used in production.
2016-06-27 13:38:06 -07:00
rahuldeve
3ca53df152
Add test for worker queue autoreloading.
2016-06-26 20:12:37 -07:00
Tim Abbott
7d3b451902
lint: Check for extremely long lines.
...
Currently, we check for lines longer than 180 characters; we can lower
this as we clean up or wrap longer strings.
2016-06-25 10:52:03 -07:00
Umair Khan
a70d5041d2
Don't allow literal strings in report_error.
2016-06-23 16:23:01 -07:00
Umair Khan
b7bb49c6f5
Don't allow literal string in report_success.
2016-06-23 16:23:01 -07:00
Tim Abbott
039c175d68
production-helper: Hold tons of packages.
...
This saves almost a minute doing apt upgrades in the production test
suite.
2016-06-22 10:41:09 -07:00
Tim Abbott
9b436c7190
setup-production: Remove more irrelevant postgres packages.
2016-06-22 10:41:09 -07:00
Tim Abbott
5a109cf816
travis: Skip development database setup in production tests.
...
This saves about 20s on the runtime of the production build.
2016-06-22 10:41:09 -07:00
Tim Abbott
0f2729f5fb
production-helper: use dist-upgrade to match install script.
...
Previously, we were wasting time every time we installed packages,
because `apt-get upgrade` would only install most of the packages
`apt-get dist-upgrade` would.
2016-06-22 10:38:27 -07:00
Eklavya Sharma
121a5f26fb
Move hash_reqs.py from tools/ to scripts/lib/.
...
This is needed because hash_reqs.py is used to create a virtualenv.
Currently we only use virtualenv in development, but we will soon
start using it in production. Scripts used in production should be
put in scripts/.
2016-06-22 18:12:08 +05:30
Tim Abbott
6b8e9c7254
Exclude static/locale from linters.
2016-06-21 17:17:34 -07:00
Tim Abbott
50f723f50b
Split test_narrow.py out of test_messages.py.
2016-06-21 12:25:08 -07:00
Alex Wilson
f68a392250
Run django.setup() after coverage.start() in tests to fix coverage report.
...
Fixes #1007 .
2016-06-21 10:37:45 -07:00
Eklavya Sharma
8148cbe173
Add tools/hash_reqs.py.
...
tools/hash_reqs.py generates a hash of a requirements file. It
does that by generating a sorted list of unique dependencies referred
to by that requirements file. To do that, it also recurses into other
requirements files specified inside that requirements file.
2016-06-20 11:09:20 -07:00
Tim Abbott
eb71173be3
lint: Fix warnings under confirmation/.
2016-06-20 08:19:54 -07:00
Tim Abbott
3899b4c913
Move py3k requirements to requirements/py3k.txt.
2016-06-18 16:41:40 -07:00
Tim Abbott
5c92639f81
Move mypy requirements to requirements/ directory.
2016-06-18 16:41:40 -07:00
Tim Abbott
6d1d7471e6
Refactor out zproject/dev_settings.py.
2016-06-17 12:15:15 -07:00
Tim Abbott
d117ec8664
lint: Fix redundant stripping of strings.
2016-06-17 10:41:39 -07:00
Tim Abbott
267a71cf20
Run Python custom RE checks in parallel with non-python.
...
This saves about 1s (out of originally 3.3s) of time running all the
linters in my development environment.
2016-06-17 10:26:50 -07:00
Tim Abbott
5b05644c95
Run mypy on zerver/tests/test_hooks.py.
2016-06-16 14:07:34 -07:00
Tim Abbott
6723525fd3
Annotate zerver/tests/tests.py.
2016-06-16 14:07:34 -07:00
John Hergenroeder
16a19226f6
Add linter check for redundant REQ whence argument.
2016-06-16 13:53:39 -07:00
Tim Abbott
0071731915
test-run-dev: Display original error messages on failures.
...
This helped with debugging a failure recently.
2016-06-15 22:44:04 -07:00
Tim Abbott
39a8c82957
travis: Remove verbose coverage report from end of build output.
2016-06-15 15:05:38 -07:00
Eklavya Sharma
553a9d0b75
tools/run-mypy: Exclude py files which have a pyi.
...
If a .py file has a corresponding .pyi stub file, exclude that
.py file from mypy.
2016-06-15 22:40:31 +05:30
Tim Abbott
9e6b9dacf6
test-migrations: Fix missing exit status on error.
...
Previously this test was correctly detecting missing migrations, but
not causing the build to fail.
2016-06-15 09:26:04 -07:00
Umair Khan
c1f5ac375c
Add linter checks for javascript strings and HTML placeholders.
...
Checks are added for:
- i18n.t
- placeholder
- compose_error
2016-06-13 09:05:27 -07:00
Tim Abbott
062287d0b0
Coveralls: Add coverage reporting to backend test suite.
2016-06-10 17:20:00 -07:00
Tim Abbott
584887e588
lint: Require folding of } on same line in else if statements.
2016-06-09 14:05:34 -07:00
Tim Abbott
c35781d505
lint: Require folding of } on same line as else statements.
2016-06-09 14:02:49 -07:00
Tim Abbott
0c1b5006f7
lint: Check for space after if in javascript.
2016-06-09 13:47:12 -07:00
Tim Abbott
eba0d6339f
lint: Require space after // in JS comments.
2016-06-09 13:44:24 -07:00
Tim Abbott
a09b950097
lint-all: Check for relative URLs in JSON calls from JS.
2016-06-09 11:59:40 -07:00
Umair Khan
938291a922
Add run-dev.py test to Travis CI test suites.
...
Fixes #919
2016-06-08 14:10:37 +05:00
Vishnu Ks
d30ea0bc44
Move recent_subjects to stream_data.
2016-06-07 17:50:16 -07:00
Tim Abbott
be53c9e39e
tests: Check for presence of typing in venv guard.
...
Since relatively few systems have the typing module, this makes the
checks for whether the user is properly running our test scripts in
the virtualenv more likely to trigger well.
2016-06-06 13:41:34 -07:00
Ernesto Vargas
ffb2f9e84b
lint/tests: Give nice error message for common import failures.
...
This should make users much more likely to be able to debug issues
where they ran Zulip outside the Vagrant environment or virtualenv.
[error messages tweaked by tabbott]
2016-06-06 13:39:26 -07:00
Tim Abbott
553ef81f92
Add lint rules for mypy type annotations.
2016-06-05 13:00:55 -07:00
James Porter
2a8e8129d1
Make emoji_dump delete old ttx files on start.
2016-06-04 17:05:48 -07:00
James Porter
f5f2d72178
Wrap main bit of emoji_dump.py in a main function.
2016-06-04 17:05:48 -07:00
James Porter
9d58624359
Minor reformatting of emoji_dump.py.
2016-06-04 17:05:48 -07:00
James Porter
d008d96597
Update Emoji set.
2016-06-04 17:05:48 -07:00
Reid Barton
0b7852f081
Generate mypy coverage report for travis + coveralls.
2016-06-04 13:01:19 -07:00
Tim Abbott
03debdf82f
Fix malformed error message when creating invalid Realm Emoji.
...
Thanks to Greg McCoy for his help finding this bug.
2016-06-03 23:12:36 -07:00
Tim Abbott
e7d9b28dfc
install-mypy: Pass --upgrade to correctly handle new mypy versions.
2016-06-03 19:11:32 -07:00
Tim Abbott
5d5f1f46dc
Upgrade mypy and typed_ast to latest versions.
2016-06-03 18:59:55 -07:00
Nathan Florea
5fe9076631
Remove some mutable default arguments.
...
These ones don't fix any bugs, because the mutable arg is never passed
outside of the callable or mutated. But it's good practice to not use
them in case those invariants are changed in the future.
2016-06-03 09:16:56 -07:00
Tim Abbott
37015fd7c5
Run mypy on zerver/lib/test_auth_backends.py.
2016-06-02 23:01:15 -07:00
Tim Abbott
8cef9675c8
Run mypy on zerver/lib/test_events.py.
2016-06-02 23:00:04 -07:00
Tim Abbott
e6d2b0cdbc
Run mypy on zerver/lib/test_unread.py.
2016-06-02 22:59:00 -07:00
Tim Abbott
f3b07ee9aa
Run mypy on zerver/lib/test_subs.py.
2016-06-02 22:57:07 -07:00
Tim Abbott
1bdbdd1110
Run mypy on test files where it already passes.
2016-06-02 22:53:28 -07:00
Umair Khan
072551a94e
Fix most redownloading in 'vagrant reload --provision'.
...
Fixes #264 .
2016-06-02 22:32:56 -07:00
Conrad Dean
f8f2f45410
run-mypy: Add --linecount-report and --disallow-untyped-defs flags.
2016-06-02 18:45:52 -07:00
Tim Abbott
fbc30c2914
test-all: Add a call to run-mypy.
...
Using mypy to check the codebase is stable and useful enough that it's
worth including it in the default tests run locally.
2016-05-31 15:00:15 -07:00
Umair Khan
bd4e471706
Check json_error and JsonableError in linter.
...
Mainly the check is to ensure that all the strings that pass through
these two functions are captured by `makemessages`.
2016-05-31 07:40:42 -07:00
Umair Khan
4b28fcd2f3
Add option to linter to exclude lines from files.
2016-05-31 07:40:42 -07:00
Tim Abbott
41336f3782
lint-all: Check for use of '== None'.
2016-05-31 07:02:04 -07:00
Umair Khan
c884559ec6
Show templates rendered report.
...
Add two options to the `test-backend` script:
1. verbose
If given the `test-backend` script will give detailed output.
2. no-shallow
Default value is False. If given the `test-backend` script will
fail if it finds a template which is shallow tested.
2016-05-31 16:46:11 +05:00
Greg Price
436499a129
Clean up some relative-path handling in lister using Git magic
...
This lets us cut out the line which hard-codes how deeply nested in
the tree the `run-mypy` script is, making it simpler to borrow these
scripts in other projects.
2016-05-30 20:01:37 -07:00
Reid Barton
8c6afac7cd
Add a stub file for request.py.
...
This stub file allows us to annotate view functions using the actual
types present in the bodies of the functions, rather than everything
having the type REQ.
2016-05-30 11:28:53 -07:00
Reid Barton
ff845ebb96
Make tools/install-mypy exit on error.
2016-05-30 09:49:45 -07:00
Eklavya Sharma
149938d468
Change shebangs from python2.7 to python.
2016-05-29 05:03:08 -07:00
Vishnu Ks
fea5ed5b60
Remove unread_subjects from check-all.js
...
unread_subjects is not used by other modules.
2016-05-27 01:03:21 -07:00
Vishnu Ks
51c86a8e2e
Move get_private_message_recipient to message_store.js
2016-05-27 01:03:21 -07:00
Vishnu Ks
89d743787e
Move recenter_view to viewport.js.
2016-05-27 01:03:21 -07:00
Vishnu Ks
4be20c4b4a
Move scroll_to_selected to navigate.js.
2016-05-27 01:03:21 -07:00
Vishnu Ks
e329c9e0f5
Move maybe_scroll_to_selected to navigate.js.
2016-05-27 01:03:21 -07:00
Vishnu Ks
dc577343fe
Move last_viewport_movement_direction to viewport.
2016-05-27 01:03:21 -07:00
Umair Khan
0278ce9102
Move tools/py3_test_reqs.txt to tools/setup/.
...
Fixes #708
2016-05-26 18:43:24 +05:00
Umair Khan
57f477dd8b
Move tools/install-phantomjs to tools/setup/.
2016-05-26 18:28:14 +05:00
Umair Khan
1161862b07
Move tools/emoji_dump to tools/setup/.
2016-05-26 18:28:14 +05:00
Umair Khan
b85526576a
Move tools/postgres-init-dev-db to tools/setup/.
2016-05-26 18:28:10 +05:00
Umair Khan
b0991966ab
Move tools/postgres-init-test-db to tools/setup/.
2016-05-26 18:28:05 +05:00
Umair Khan
d425e05a02
Move tools/generate-fixtures to tools/setup/.
2016-05-26 17:54:32 +05:00
Umair Khan
8335bd672f
Move tools/generate-test-credentials to tools/setup/.
2016-05-26 17:54:28 +05:00
Umair Khan
d5f3a82284
Move tools/download-zxcvbn to tools/setup.
2016-05-26 16:05:23 +05:00
Eklavya Sharma
09400a7e50
End compile-handlebars-templates gracefully.
...
Catch KeyboardInterrupt from tools/compile-handlebars-templates,
print a message and exit when running in forever mode.
2016-05-25 16:06:35 -07:00
Eklavya Sharma
d9c4be87d1
Make docs/conf.py pass mypy check.
2016-05-25 15:04:39 -07:00
Eklavya Sharma
30892b2f99
Make makemessages.py pass mypy check.
2016-05-25 15:04:39 -07:00
Eklavya Sharma
ea52fc05ed
Make zproject/urls.py pass mypy check.
2016-05-25 15:04:39 -07:00
Eklavya Sharma
1c04560def
Re-enable pyflakes in linter and remove python 3 pyflakes errors.
2016-05-25 19:25:13 +05:30
Eklavya Sharma
1a6257394c
Make tools/lint-all run on python 3.
...
Since pyflakes catches some extra errors in python 3, disable
pyflakes for now.
2016-05-25 19:23:13 +05:30
Eklavya Sharma
3185b7e750
Remove unneeded imports from tools/lint-all.
2016-05-25 19:12:09 +05:30
Eklavya Sharma
c800c87d2d
Remove __pycache__ in tools/clean-repo.
2016-05-24 13:43:49 -07:00
Eklavya Sharma
b210727e5c
Enable running tools/run-mypy on a subdirectory.
...
Previously tools/run-mypy could not run on a subdirectory properly
because run-mypy assumed exclude files to be in that subdirectory.
2016-05-24 13:24:15 -07:00
Eklavya Sharma
bd63caed96
Fix exclude startegy in tools/lister.py.
...
Previously lister.py used to check whether the exclude path is a
substring of a path being considered. So it would fail when the
exclude path is an absolute path or uses '..' or '.'.
2016-05-24 13:24:15 -07:00