mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 01:39:21 +03:00
0e6b93a0e0
Summary: - Add support for RocksDB engine (developed as a drop in replacement for innodb) to hgsql to allow new xdb.hgsql.1-10 shards to host hg repos - Prefer MySQL test DBs in same region - Run all hgsql unit tests also for RocksDB engine - Allow for nested ifs to make that possible (downside if you switch off rockdb tests, innodb tests are run twice) Reviewed By: quark-zju Differential Revision: D7014064 fbshipit-source-id: 073c36176aa7eaf74252ef33c3f47da594920b28
90 lines
1.8 KiB
Perl
90 lines
1.8 KiB
Perl
#testcases case-innodb case-rocksdb
|
|
|
|
#if case-rocksdb
|
|
$ DBENGINE=rocksdb
|
|
#else
|
|
$ DBENGINE=innodb
|
|
#endif
|
|
|
|
Inital setup
|
|
|
|
$ . $TESTDIR/require-ext.sh lfs
|
|
$ . "$TESTDIR/hgsql/library.sh"
|
|
$ initclient client
|
|
$ initserver server lfsrepo
|
|
|
|
$ mkdir -p $TESTTMP/lfs-remote
|
|
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> lfs=
|
|
> [lfs]
|
|
> url=file://$TESTTMP/lfs-remote
|
|
> EOF
|
|
|
|
$ cd client
|
|
$ cat >> .hg/hgrc << EOF
|
|
> [lfs]
|
|
> threshold=10B
|
|
> chunksize=10B
|
|
> EOF
|
|
|
|
Commit some large file stuff
|
|
|
|
$ echo LONGER-THAN-TEN-BYTES-WILL-TRIGGER-LFS > large
|
|
$ echo SHORTER > small
|
|
$ hg add . -q
|
|
$ hg commit -m 'commit with lfs content'
|
|
|
|
$ hg mv large l
|
|
$ hg mv small s
|
|
$ hg commit -m 'renames'
|
|
|
|
$ echo SHORT > l
|
|
$ echo BECOME-LARGER-FROM-SHORTER > s
|
|
$ hg commit -m 'large to small, small to large'
|
|
|
|
$ echo 1 >> l
|
|
$ echo 2 >> s
|
|
$ hg commit -m 'random modifications'
|
|
|
|
$ echo RESTORE-TO-BE-LARGE > l
|
|
$ echo SHORTER > s
|
|
$ hg commit -m 'switch large and small again'
|
|
|
|
$ hg bookmark @
|
|
$ hg push ../server/ -q --trace
|
|
lfs: * (glob) (?)
|
|
lfs: * (glob) (?)
|
|
|
|
$ cd ..
|
|
|
|
Clone the repo from SQL
|
|
|
|
$ initserver server2 lfsrepo
|
|
|
|
Verify all repos
|
|
|
|
$ for r in client server server2; do
|
|
> echo repo: $r
|
|
> hg --cwd $TESTTMP/$r verify
|
|
> done
|
|
repo: client
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
4 files, 5 changesets, 10 total revisions
|
|
repo: server
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
4 files, 5 changesets, 10 total revisions
|
|
repo: server2
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
4 files, 5 changesets, 10 total revisions
|