annotate tests/test-exchange-A5.t @ 905:b177fde040dd

exchange: use fixed order for obstore content The obsstore content seems unstable from one version of python to another (we most certainly use some dict) we fix the order once and for all.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 22 Apr 2014 17:00:24 -0700
parents 4b8cf3d24160
children 010c7e4aa820
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
2
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
3 Initial setup
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
4
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
5 $ . $TESTDIR/_exc-util.sh
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
6
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
7
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
8 === A.5 partial reordering ===
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
9 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
10 .. {{{
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
11 .. B ø⇠⇠
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
12 .. | ⇡
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
13 .. A ø⇠⇠⇠○ A'
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
14 .. | ⇡/
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
15 .. | ○ B'
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
16 .. |/
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
17 .. ● O
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
18 .. }}}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
19 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
20 .. Marker exist from:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
21 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
22 .. * `Aø⇠○ A'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
23 .. * `Bø⇠○ B'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
24 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
25 .. Command run:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
26 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
27 .. * hg push -r B
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
28 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
29 .. Expected exchange:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
30 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
31 .. * `Bø⇠○ B'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
32 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
33 .. Expected Exclude:
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
34 ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
35 .. * `Aø⇠○ A'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
36
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
37
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
38 initial
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
39
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
40 $ setuprepos A.5
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
41 creating test repo for test case A.5
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
42 - pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
43 - main
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
44 - pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
45 cd into `main` and proceed with env setup
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
46 $ cd main
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
47 $ mkcommit A0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
48 $ mkcommit B0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
49 $ hg update 0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
50 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
51 $ mkcommit B1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
52 created new head
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
53 $ mkcommit A1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
54 $ hg debugobsolete aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa `getid 'desc(A0)'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
55 $ hg debugobsolete `getid 'desc(B0)'` `getid 'desc(B1)'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
56 $ hg debugobsolete `getid 'desc(A0)'` `getid 'desc(A1)'`
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
57 invalid branchheads cache (served): tip differs
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
58 $ hg log -G --hidden
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
59 @ 8c0a98c83722 (draft): A1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
60 |
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
61 o f6298a8ac3a4 (draft): B1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
62 |
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
63 | x 6e72f0a95b5e (draft): B0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
64 | |
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
65 | x 28b51eb45704 (draft): A0
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
66 |/
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
67 o a9bdc8b26820 (public): O
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
68
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
69 $ hg debugobsolete
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
70 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
71 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
72 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
73 $ cd ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
74 $ cd ..
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
75
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
76 Actual Test
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
77 -----------
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
78
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
79 $ dotest A.5 B1
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
80 ## Running testcase A.5
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
81 # testing echange of "B1" (f6298a8ac3a4)
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
82 ## initial state
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
83 # obstore: main
905
b177fde040dd exchange: use fixed order for obstore content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 834
diff changeset
84 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
85 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
905
b177fde040dd exchange: use fixed order for obstore content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 834
diff changeset
86 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
87 # obstore: pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
88 # obstore: pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
89 ## pushing "B1" from main to pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
90 pushing to pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
91 searching for changes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
92 adding changesets
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
93 adding manifests
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
94 adding file changes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
95 added 1 changesets with 1 changes to 1 files
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
96 OBSEXC: computing relevant nodes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
97 OBSEXC: computing markers relevant to 2 nodes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
98 OBSEXC: encoding 1 markers
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
99 OBSEXC: sending 1 pushkey payload (78 bytes)
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
100 OBSEXC: DONE
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
101 ## post push state
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
102 # obstore: main
905
b177fde040dd exchange: use fixed order for obstore content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 834
diff changeset
103 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
104 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
905
b177fde040dd exchange: use fixed order for obstore content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 834
diff changeset
105 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
106 # obstore: pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
107 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
108 # obstore: pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
109 ## pulling "f6298a8ac3a4" from main into pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
110 pulling from main
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
111 searching for changes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
112 adding changesets
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
113 adding manifests
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
114 adding file changes
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
115 added 1 changesets with 1 changes to 1 files
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
116 OBSEXC: pull obsolescence markers
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
117 OBSEXC: merging obsolescence markers (62 bytes)
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
118 OBSEXC: 1 markers added
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
119 OBSEXC: DONE
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
120 (run 'hg update' to get a working copy)
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
121 ## post pull state
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
122 # obstore: main
905
b177fde040dd exchange: use fixed order for obstore content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 834
diff changeset
123 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 8c0a98c8372212c6efde4bfdcef006f27ff759d3 0 {'date': '', 'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
124 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
905
b177fde040dd exchange: use fixed order for obstore content
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 834
diff changeset
125 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 28b51eb45704506b5c603decd6bf7ac5e0f6a52f 0 {'date': '', 'user': 'test'}
834
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
126 # obstore: pushdest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
127 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
128 # obstore: pulldest
4b8cf3d24160 exchange: add test case for A.5
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
129 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 f6298a8ac3a4b78bbeae5f1d3dc5bc3c3812f0f3 0 {'date': '', 'user': 'test'}