Commit Graph

8 Commits

Author SHA1 Message Date
Juan Gu
855dfadef0 SERVER-94077 Use isort in Ruff configs (#27865)
GitOrigin-RevId: e793d662774ccd3ab6c3f356c2287cf1f7ff9805
2024-10-10 19:33:49 +00:00
David Percy
70da849086 SERVER-90138 Speed up resmoke.py find-suites
Profiling showed a lot of the time was spent in two helper functions:
  - glob() which scans the filesystem for filenames that match a pattern
  - get_tags() which parses the "@tags" section of a jstest

Printing the arguments of these functions showed that a lot of the calls
are duplicates, because many suites use the same glob pattern, and many
suites want to know what tags a given test contains.

Since we already assume the resmokeconfig is not changing out from under
us, it makes sense to cache these. I don't think memory usage is a
concern because resmoke is either short-lived (as in find-suites) or it
runs subprocesses that already use a lot of memory (mongod, or a whole
sharded cluster).

On my machine these two changes brought the time down from around
1m 20s to 10s.

GitOrigin-RevId: f4538e44aaca8c1ae11c38cc48b6ec76d2a85d1b
2024-05-03 05:27:58 +00:00
Max Hirschhorn
6552887793 SERVER-69944 Switch to use Python's built-in recursive glob support.
When splitting a path of the form "a/*/b/**", globstar.iglob() would
previously have attempted to walk "a/*" as a literal directory instead
of expanding the glob pattern into a list of directories and walking
each of them.
2022-09-23 22:47:05 +00:00
Mathew Robinson
8dd6d47557 SERVER-32295 Support Python 3 2019-04-08 14:08:49 -04:00
Jonathan Abrahams
c50c68fef1 SERVER-23312 Python linting - Lint using pylint, pydocstyle & mypy 2018-04-05 14:41:58 -04:00
Jonathan Abrahams
36148ad8bb SERVER-23312 Format Python files with yapf 2018-03-26 13:04:25 -04:00
Mark Benvenuto
01965cf52b SERVER-18575: clang_format.py 2015-06-20 10:55:52 -04:00
Max Hirschhorn
424314f65e SERVER-1424 Rewrite smoke.py.
Split out the passthrough tests into separate suites. The MongoDB
deployment is started up by resmoke.py so that we can record the
success/failure of each individual test in MCI.

Added support for parallel execution of tests by dispatching to
multiple MongoDB deployments.

Added support for grouping different kinds of tests (e.g. C++ unit
tests, dbtests, and jstests) so that they can be run together. This
allows for customizability in specifying what tests to execute when
changes are made to a particular part of the code.
2015-05-08 14:49:42 -04:00