Commit Graph
1255 Commits
Author SHA1 Message Date
Mr. Outis 299fb9022f 💅 black 2019-12-13 18:04:15 -06:00
Mr. Outis 37a2844a74 tests/repo: move .stages to unit 2019-12-13 18:01:11 -06:00
Mr. Outis b3a52515a3 tests/repo: move .collect to unit 2019-12-13 17:54:05 -06:00
Mr. Outis 655b79bf0c tests/repo: move .destroy to unit test 2019-12-13 17:51:54 -06:00
Mr. Outis c178e77ab7 tests/repo: use pytest 2019-12-13 17:51:54 -06:00
Ruslan Kuprieiev da49badbfe Merge branch 'master' into relink 2019-12-13 20:35:02 +02:00
Ruslan Kuprieiev 3c835909f6 Merge pull request #2931 from rbvesb/dvc-s3-acl
remote: Extend S3 remote support for custom ACL
2019-12-13 19:31:44 +02:00
Veselin Borisov cd461aec4f fixup! remote: Extend S3 remote support for custom ACL 2019-12-13 10:43:38 +02:00
Ruslan Kuprieiev e384685715 dvc: release locks when running a command
Currently only one instance of dvc could run in a particular repo
because of the `.dvc/lock`. That gets furstrating when you are running
some long-running command and blocked from doing anything else.
This PR solved that issue for `dvc run` by releasing the repo lock
while running the command. To protect against conflicts, we now use
rwlock, which keeps the list of readers and writers for particular
paths. The process looks like this:

1) aquire read locks for deps;
2) aquire write locks for outs;
3) release repo lock;
4) run cmd;
5) aquire repo lock;
6) release write locks for outs;
7) release read locks for outs;

We also take rwlocks for operations such as `import`, `add` and `checkout`
to ensure that we won't hit the same files that are being used by
another `dvc run` in the background.

We don't aquire rwlocks for the stage file itself, as we don't really
care about anyone overwriting a stage file, as there is a very little
difference here between parallel runs and sequential runs that overwrite
the same stage file.

Next steps might be to release repo lock on `import`(when dowloading
stuff) and when computing checksums or copying files.

Fixes #755
2019-12-13 10:38:10 +02:00
Mr. Outis d0f3559d96 tests: updater, use dir helpers 2019-12-12 18:59:52 -06:00
Alexander Schepanovski 1143a8c57f test: add checkout parse-cli-api test 2019-12-12 20:16:17 +07:00
Veselin Borisov 4c2bc6bf48 fixup! remote: Extend S3 remote support for custom ACL 2019-12-12 12:41:38 +02:00
Ruslan Kuprieiev 8890daf703 Merge pull request #2826 from mroutis/refactor-analytics
analytics: refactor into a module
2019-12-09 17:59:51 +02:00
Mr. Outis 5dd6300878 💅 black 2019-12-07 21:19:54 -06:00
Mr. Outis 6e4c3d6acd tests: require keys on analytics report schema 2019-12-07 21:18:28 -06:00
Mr. Outis c50bd17bb4 analytics: collect execution info only when available 2019-12-07 21:14:31 -06:00
Ruslan Kuprieiev 82dd1ac7c1 Merge pull request #2815 from xliiv/2807-use-pager
dvc/dagascii: Use pager instead of AsciiCanvas._do_draw
2019-12-07 01:16:16 +02:00
Tymoteusz Jankowski 44df59f96c Fix test_dagascii tests 2019-12-06 23:36:21 +01:00
Mr. Outis 2145daa130 analytics: define private methods 2019-12-06 16:26:10 -06:00
Tymoteusz Jankowski ffefab152e Remove make_pager.cmd attribute 2019-12-06 22:17:44 +01:00
Tymoteusz Jankowski ed4e951f22 Use monkeypatch in test_dagascii.py 2019-12-06 21:58:56 +01:00
Tymoteusz Jankowski 6cfc831879 Use mocker fixture in test_dagascii.py 2019-12-06 21:54:40 +01:00
Mr. Outis 5a8033415d tests: use str, builtin_str in schema 2019-12-06 13:54:17 -06:00
Tymoteusz Jankowski 8fb754a4f4 Simplify if in find_pager 2019-12-06 20:42:10 +01:00
Mr. Outis f704e5468b tests: stringify tmp_global_config since it doesnt return a pathlike object 2019-12-06 10:20:30 -06:00
Ruslan Kuprieiev 8fa26825ee Merge pull request #2894 from odd-industries/master
import-url: support directories
2019-12-06 16:12:04 +02:00
Vera Sativa 896b08c11d fix: test requirements 2019-12-06 10:55:18 -03:00
Vera Sativa b2e3fd2dbd fix: test imports 2019-12-06 10:20:53 -03:00
Mr. Outis bc2471cd30 tests: adjust scm_class schema 2019-12-05 19:56:45 -06:00
VeraandRuslan Kuprieiev 4e53f17948 Update tests/unit/remote/test_remote_dir.py
Co-Authored-By: Ruslan Kuprieiev <[email protected]>
2019-12-05 17:41:17 -03:00
Vera Sativa f7e0b575bd tests: add download_dir 2019-12-05 16:51:24 -03:00
Ruslan Kuprieiev 73e69be067 Merge pull request #2882 from Suor/revert-checkout
dvc: revert checkout to be silly and fast, relink on dvc add though
2019-12-05 16:07:52 +02:00
Ruslan Kuprieiev 57b0596bfe state: quote % in path
Fixes #2885
2019-12-05 15:25:21 +02:00
Mr. Outis 71ead3f62e analytics: use a tempfile for inter-process communication 2019-12-04 19:47:06 -06:00
Mr. Outis 05a68684fd tests: isolate global config from analytics tests
fix #2806
2019-12-04 19:44:12 -06:00
Mr. Outis 7a3aae1c7e tests: add unit test for analytics.system_info 2019-12-04 19:43:00 -06:00
Tymoteusz Jankowski 128f60ef68 Add test_dagascii.py + make find_pager() use DVC_PAGER 2019-12-04 20:51:24 +01:00
Mr. Outis 8a32b28b54 analytics: collect and send on daemon 2019-12-02 22:54:16 -06:00
Mr. Outis 8b5ca253ec analytics: move report schema to tests 2019-12-02 22:48:09 -06:00
Mr. Outis e0d47a1382 💅 formatting 2019-12-02 21:57:06 -06:00
Mr. Outis ca485db240 analytics: define report schema and use it on tests 2019-12-02 21:52:00 -06:00
Mr. Outis 55960154c5 analytics: document why tmp_global_config is needed 2019-12-02 17:51:35 -06:00
Mr. Outis 946dfc1400 analytics: send report without loading it to memory
shout-out to @Suor for the suggestion
2019-12-02 17:51:32 -06:00
Alexander Schepanovski d1cf770a3c dvc: don't make an unneeded copy on commit
Fix #2016 without all the complications of #2358.
2019-12-02 23:08:45 +01:00
Saugat Pachhai 6ba7b1d9a3 gs: adjust tests 2019-12-01 17:26:07 +05:45
Saugat Pachhai 22c0a644e5 address @efiop's suggestions 2019-12-01 16:08:53 +05:45
Saugat Pachhai da0d9e8599 s3: implement isfile() 2019-12-01 10:58:53 +05:45
Saugat Pachhai 7e62a7d7e5 gs: implement isfile 2019-12-01 08:56:07 +05:45
Saugat Pachhai 2e1f3114cd dvc: write tests 2019-11-30 19:47:30 +05:45
Saugat Pachhai 42991d3b75 Move more stuff from data_cloud to tests/remotes.py 2019-11-30 10:04:45 +05:45