##// END OF EJS Templates
stabletailgraph: add test cases challenging the open merge stack...
pacien -
r51422:027481f1 default
parent child Browse files
Show More
@@ -787,3 +787,360 b' Check the leaps of "k".'
787 cf
787 cf
788
788
789 $ cd ..
789 $ cd ..
790
791
792 Example 10: adjusting other leaps
793 =================================
794
795 This test checks the adjustment of leaps attached to other open merges in the
796 stack.
797
798 # o
799 # |
800 # ------>------
801 # | |
802 # n l
803 # | |
804 # | ----<----
805 # | | |
806 # | i k
807 # m | |
808 # | ---<--- |
809 # | | | |
810 # | d h |
811 # | | | j
812 # | | g |
813 # | c | |
814 # | | +-----
815 # -----+ |
816 # | f
817 # b |
818 # | e <- Done with excl(o) by element count, without
819 # | | having emitted "b". Implicitly unstack open
820 # ---+--- merges to leap e->n.
821 # |
822 # a
823
824 $ hg init example-10
825 $ cd example-10
826 $ hg debugbuilddag '
827 > .:a
828 > *a:b.:c.:d
829 > *a:e.:f.:g.:h
830 > *d/h:i
831 > *f:j+6:k
832 > *i/k:l
833 > *b:m+15:n
834 > *n/l:o.
835 > '
836 $ hg test-log
837 o o rank=34
838 |\
839 | o n rank=18
840 | :
841 | o m rank=3
842 | |
843 o | l rank=17
844 |\ \
845 | o | k rank=10
846 | : |
847 | o | j rank=4
848 | | |
849 o | | i rank=9
850 |\ \ \
851 | o | | h rank=5
852 | | | |
853 | o | | g rank=4
854 | |/ /
855 | o | f rank=3
856 | | |
857 | o | e rank=2
858 | | |
859 o | | d rank=4
860 | | |
861 o---+ c rank=3
862 / /
863 | o b rank=2
864 |/
865 o a rank=1
866
867
868 Check the stable-tail sort of "o":
869
870 $ hg test-sts o
871 o,l,i,d,c,h,g,k,*,j,f,e,n,*,m,b,a, (no-eol) (glob)
872
873 Stale-tail sort of "l" for reference:
874
875 $ hg test-sts l
876 l,i,d,c,b,h,g,k,*,j,f,e,a, (no-eol) (glob)
877
878 Check the corresponding leaps:
879
880 $ hg test-leaps o
881 ch
882 gk
883 en
884
885 $ hg test-leaps --specific o
886 ch
887
888 $ hg test-leaps l
889 bh
890 gk
891
892 $ hg test-leaps --specific l
893
894 $ cd ..
895
896
897 Example 11: adjusting other leaps with the same destination
898 ===========================================================
899
900 This is a variant of the previous test, checking the adjustment of leaps having
901 the same destination in particular.
902
903 # r
904 # |
905 # ------>------
906 # | |
907 # | o
908 # q |
909 # | ------>------
910 # | | |
911 # | n l
912 # | | |
913 # | | ----<----
914 # p | | |
915 # | | i k
916 # | m | |
917 # | | ---<--- |
918 # | | | | |
919 # | | d h |
920 # | | | | j
921 # -----]|[---+ | | <- in sts(r): leap d->h
922 # | | g |
923 # | c | |
924 # | | +-----
925 # -----+ | <- the leap c->h of sts(o)
926 # | f is shadowed in sts(r)
927 # b |
928 # | e
929 # | |
930 # ---+---
931 # |
932 # a
933
934 $ hg init example-11
935 $ cd example-11
936 $ hg debugbuilddag '
937 > .:a
938 > *a:b.:c.:d
939 > *a:e.:f.:g.:h
940 > *d/h:i
941 > *f:j+6:k
942 > *i/k:l
943 > *b:m+15:n
944 > *n/l:o
945 > *c:p+31:q
946 > *o/q:r.
947 > '
948 $ hg test-log
949 o r rank=67
950 |\
951 | o q rank=35
952 | :
953 | o p rank=4
954 | |
955 o | o rank=34
956 |\ \
957 | o | n rank=18
958 | : |
959 | o | m rank=3
960 | | |
961 o | | l rank=17
962 |\ \ \
963 | o | | k rank=10
964 | : | |
965 | o | | j rank=4
966 | | | |
967 o | | | i rank=9
968 |\ \ \ \
969 | o | | | h rank=5
970 | | | | |
971 | o | | | g rank=4
972 | |/ / /
973 | o | | f rank=3
974 | | | |
975 | o | | e rank=2
976 | | | |
977 o-----+ d rank=4
978 / / /
979 | | o c rank=3
980 | |/
981 | o b rank=2
982 |/
983 o a rank=1
984
985
986 Check the stable-tail sort of "r":
987
988 $ hg test-sts r
989 r,o,l,i,d,h,g,k,*,j,f,e,n,*,m,q,*,p,c,b,a, (no-eol) (glob)
990
991 Stable-tail sort of "o" for reference:
992
993 $ hg test-sts o
994 o,l,i,d,c,h,g,k,*,j,f,e,n,*,m,b,a, (no-eol) (glob)
995
996 Check the associated leaps:
997
998 $ hg test-leaps r
999 dh
1000 gk
1001 en
1002 mq
1003
1004 $ hg test-leaps --specific r
1005 dh
1006
1007 $ hg test-leaps o
1008 ch
1009 gk
1010 en
1011
1012 $ hg test-leaps --specific o
1013 ch
1014
1015 $ cd ..
1016
1017
1018 Example 12
1019 ==========
1020
1021 This is a variant of the previous test, checking the adjustments of leaps
1022 in the open merge stack having a lower destination (which should appear only
1023 later in the stable-tail sort of the head).
1024
1025 # t
1026 # |
1027 # ------>------
1028 # | |
1029 # | o
1030 # s |
1031 # | ------>------
1032 # | | |
1033 # | n l
1034 # r | |
1035 # | | ----<----
1036 # | | | |
1037 # --<-- | i k
1038 # | | m | |
1039 # p q | ---<--- |
1040 # | | | | | |
1041 # | ---]|[--]|[----+ |
1042 # | | | | |
1043 # | | d h |
1044 # | | | | j
1045 # -------]|[---+ | | <- d->k is sts(t)
1046 # | | g |
1047 # | c | |
1048 # | | +-----
1049 # -----+ | <- c->h in sts(o), not applying in sts(t)
1050 # | f
1051 # b |
1052 # | e
1053 # | |
1054 # ---+---
1055 # |
1056 # a
1057
1058 $ hg init example-12
1059 $ cd example-12
1060 $ hg debugbuilddag '
1061 > .:a
1062 > *a:b.:c.:d
1063 > *a:e.:f.:g.:h
1064 > *d/h:i
1065 > *f:j+6:k
1066 > *i/k:l
1067 > *b:m+15:n
1068 > *n/l:o
1069 > *c:p
1070 > *h:q
1071 > *p/q:r+25:s
1072 > *o/s:t.
1073 > '
1074 $ hg test-log
1075 o t rank=63
1076 |\
1077 | o s rank=35
1078 | :
1079 | o r rank=10
1080 | |\
1081 | | o q rank=6
1082 | | |
1083 | o | p rank=4
1084 | | |
1085 o | | o rank=34
1086 |\ \ \
1087 | o | | n rank=18
1088 | : | |
1089 | o | | m rank=3
1090 | | | |
1091 o | | | l rank=17
1092 |\ \ \ \
1093 | o | | | k rank=10
1094 | : | | |
1095 | o | | | j rank=4
1096 | | | | |
1097 o-------+ i rank=9
1098 | | | | |
1099 | | | | o h rank=5
1100 | | | | |
1101 | +-----o g rank=4
1102 | | | |
1103 | o | | f rank=3
1104 | | | |
1105 | o | | e rank=2
1106 | | | |
1107 o-----+ d rank=4
1108 / / /
1109 | | o c rank=3
1110 | |/
1111 | o b rank=2
1112 |/
1113 o a rank=1
1114
1115
1116 Check the stable-tail sort of "t":
1117
1118 $ hg test-sts t
1119 t,o,l,i,d,k,*,j,n,*,m,s,*,r,p,c,b,q,h,g,f,e,a, (no-eol) (glob)
1120
1121 Stable-tail sort of "o" for reference:
1122
1123 $ hg test-sts o
1124 o,l,i,d,c,h,g,k,*,j,f,e,n,*,m,b,a, (no-eol) (glob)
1125
1126 Check the associated leaps:
1127
1128 $ hg test-leaps t
1129 dk
1130 jn
1131 ms
1132 bq
1133
1134 $ hg test-leaps --specific t
1135 dk
1136 jn
1137
1138 $ hg test-leaps o
1139 ch
1140 gk
1141 en
1142
1143 $ hg test-leaps --specific o
1144 ch
1145
1146 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now