Commit Graph

11 Commits

Author SHA1 Message Date
Jun Wu
9dc21f8d0b codemod: import from the edenscm package
Summary:
D13853115 adds `edenscm/` to `sys.path` and code still uses `import mercurial`.
That has nasty problems if both `import mercurial` and
`import edenscm.mercurial` are used, because Python would think `mercurial.foo`
and `edenscm.mercurial.foo` are different modules so code like
`try: ... except mercurial.error.Foo: ...`, or `isinstance(x, mercurial.foo.Bar)`
would fail to handle the `edenscm.mercurial` version. There are also some
module-level states (ex. `extensions._extensions`) that would cause trouble if
they have multiple versions in a single process.

Change imports to use the `edenscm` so ideally the `mercurial` is no longer
imported at all. Add checks in extensions.py to catch unexpected extensions
importing modules from the old (wrong) locations when running tests.

Reviewed By: phillco

Differential Revision: D13868981

fbshipit-source-id: f4e2513766957fd81d85407994f7521a08e4de48
2019-01-29 17:25:32 -08:00
Durham Goode
656bf8e5fb hgsubversion: store lastpulled in the sql database
Summary:
In an upcoming diff we'll be making hgsubversion pull use a single
transaction. We need the lastpulled file to be part of that transaction. The
easiest way to do that is to store it in the database.

Reviewed By: quark-zju

Differential Revision: D13433558

fbshipit-source-id: 013ce09aa7a7382008979a7f424860fc98dc8b5d
2018-12-12 15:14:59 -08:00
Jun Wu
a487dacc4b codemod: reformat rest of the code
Summary:
Previous code format attempt (D8173629) didn't cover all files due to `**/*.py`
was not expanded recursively by bash. That makes certain changes larger than
they should be (ex. D8675439). Now use zsh's `**/*.py` to format them.

Also fix Python syntax so black can run on more files, and all lint issues.

Reviewed By: phillco

Differential Revision: D8696912

fbshipit-source-id: 95f07aa0c5eb1b63947b0f77f534957f4ab65364
2018-07-05 17:52:43 -07:00
Saurabh Singh
bdbcbf962b remove templates for svnpath and svnuuid
Summary:
According to scuba chart https://fburl.com/scuba/mn5nfdna, these are
not used by any critical client, don't seem useful and can be removed.

Reviewed By: quark-zju

Differential Revision: D8232616

fbshipit-source-id: ae07cfb00bfe45cd6f8c31f3fa0871c9ba1fdadf
2018-06-06 15:07:25 -07:00
Lukasz Langa
408782f48a Update to 18.6b1
Summary:
Better handling of parentheses.

ignore-unit-failures

Reviewed By: carljm

Differential Revision: D8294476

fbshipit-source-id: d0bdfd14d1b39cf19ac8a8a3c6d74c9f4fea8b13
2018-06-05 22:19:55 -07:00
Lukasz Langa
dfda82e492 Upgrade to 18.5b1
Summary: Mostly empty lines removed and added.  A few bugfixes on excessive line splitting.

Reviewed By: quark-zju

Differential Revision: D8199128

fbshipit-source-id: 90c1616061bfd7cfbba0b75f03f89683340374d5
2018-05-30 02:23:58 -07:00
Kostia Balytskyi
6134cd5994 hgsubversion: accept regexed output of comprehensive tests
Summary:
This looks most like a dirty hack in this stack, especially the largest file.
Unfortunately, on my some number of runs it looked like the output is not really
consistent: some lines were `verifying ...` and some `cannot verify ...` inconsistently
over the runs.
Hovewer, given that the `hgsubversion` test suite simply did not care about what
tests printed, I think this is acceptable.


Depends on D6719894

Test Plan: - `./run-tests.py`, see tests passing

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6719906
2018-01-17 03:23:44 -08:00
Kostia Balytskyi
f47acc0834 hgsubversion: fixup comprehensive tests imports
Summary:
Here we make imports in `hgsubversion` tests work again.
This consists of two main parts:
1. tests were importing each other as python modules. Now that they have `-` in
their names, it is impossible. However, we can utilize some tricks to work
around this (`imp.load_source`)
2. tests where doing some weird location assumptions, we clean that up


Depends on D6719890

Test Plan: - `./run-tests -l test-hgsubversion-*`, see non-import-exception failures

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6719894
2018-01-17 03:23:44 -08:00
Kostia Balytskyi
5a73bf5843 hgsubversion: migrate all the tests to silentrunner
Summary:
This migration allows `./run-tests.py` to run `hgsubversion` tests. Since hgsubversion
tests are actually python unittests, we don't care about their output at all,
they fail differently. But the behavior of the test suite require us to match
whatever the tests prints. We do this later in the stack.

Depends on D6719886

Test Plan: - check that tests are runnable at least

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6719890
2018-01-17 03:23:44 -08:00
Kostia Balytskyi
82ca3e620b hgsubversion: rename test_util to test_hgsubversion_util
Summary:
This is in line with our general spirit of renaming things into test-extname-smth.

Depends on D6719883

Test Plan: - test fixes and runs follow in the stack

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6719886
2018-01-17 03:23:44 -08:00
Kostia Balytskyi
3cc5c5756c hgsubversion: move tests to the general tests dir
Summary:
Move tests to where we are used to them.

Note that I don't move comprehensive tests to the `tests` directory, since
I think that having them not run when `./run-tests.py` is run without arguments
may be a useful thing. In general, we may adopt this concept for the core as well.
If we decide we do want to move them, it's very easy to do.

Depends on D6719879

Test Plan: - fixups and test runs follow in the stack

Reviewers: #sourcecontrol

Differential Revision: https://phabricator.intern.facebook.com/D6719883
2018-01-17 03:23:44 -08:00