Browse code

Merge pull request #6951 from liggitt/ugorji_fix

Merged by openshift-bot

OpenShift Bot authored on 2016/02/03 12:54:59
Showing 3 changed files
... ...
@@ -17712,7 +17712,7 @@ func (_ fastpathT) DecSliceIntfV(v []interface{}, checkNil bool, canChange bool,
17712 17712
 			changed = true
17713 17713
 		}
17714 17714
 		slh.End()
17715
-		return
17715
+		return v, changed
17716 17716
 	}
17717 17717
 
17718 17718
 	if containerLenS > 0 {
... ...
@@ -17771,7 +17771,7 @@ func (_ fastpathT) DecSliceIntfV(v []interface{}, checkNil bool, canChange bool,
17771 17771
 				changed = true
17772 17772
 			}
17773 17773
 			slh.End()
17774
-			return
17774
+			return v, changed
17775 17775
 		}
17776 17776
 		if cap(v) == 0 {
17777 17777
 			v = make([]interface{}, 1, 4)
... ...
@@ -17846,7 +17846,7 @@ func (_ fastpathT) DecSliceStringV(v []string, checkNil bool, canChange bool, d
17846 17846
 			changed = true
17847 17847
 		}
17848 17848
 		slh.End()
17849
-		return
17849
+		return v, changed
17850 17850
 	}
17851 17851
 
17852 17852
 	if containerLenS > 0 {
... ...
@@ -17905,7 +17905,7 @@ func (_ fastpathT) DecSliceStringV(v []string, checkNil bool, canChange bool, d
17905 17905
 				changed = true
17906 17906
 			}
17907 17907
 			slh.End()
17908
-			return
17908
+			return v, changed
17909 17909
 		}
17910 17910
 		if cap(v) == 0 {
17911 17911
 			v = make([]string, 1, 4)
... ...
@@ -17979,7 +17979,7 @@ func (_ fastpathT) DecSliceFloat32V(v []float32, checkNil bool, canChange bool,
17979 17979
 			changed = true
17980 17980
 		}
17981 17981
 		slh.End()
17982
-		return
17982
+		return v, changed
17983 17983
 	}
17984 17984
 
17985 17985
 	if containerLenS > 0 {
... ...
@@ -18038,7 +18038,7 @@ func (_ fastpathT) DecSliceFloat32V(v []float32, checkNil bool, canChange bool,
18038 18038
 				changed = true
18039 18039
 			}
18040 18040
 			slh.End()
18041
-			return
18041
+			return v, changed
18042 18042
 		}
18043 18043
 		if cap(v) == 0 {
18044 18044
 			v = make([]float32, 1, 4)
... ...
@@ -18112,7 +18112,7 @@ func (_ fastpathT) DecSliceFloat64V(v []float64, checkNil bool, canChange bool,
18112 18112
 			changed = true
18113 18113
 		}
18114 18114
 		slh.End()
18115
-		return
18115
+		return v, changed
18116 18116
 	}
18117 18117
 
18118 18118
 	if containerLenS > 0 {
... ...
@@ -18171,7 +18171,7 @@ func (_ fastpathT) DecSliceFloat64V(v []float64, checkNil bool, canChange bool,
18171 18171
 				changed = true
18172 18172
 			}
18173 18173
 			slh.End()
18174
-			return
18174
+			return v, changed
18175 18175
 		}
18176 18176
 		if cap(v) == 0 {
18177 18177
 			v = make([]float64, 1, 4)
... ...
@@ -18245,7 +18245,7 @@ func (_ fastpathT) DecSliceUintV(v []uint, checkNil bool, canChange bool, d *Dec
18245 18245
 			changed = true
18246 18246
 		}
18247 18247
 		slh.End()
18248
-		return
18248
+		return v, changed
18249 18249
 	}
18250 18250
 
18251 18251
 	if containerLenS > 0 {
... ...
@@ -18304,7 +18304,7 @@ func (_ fastpathT) DecSliceUintV(v []uint, checkNil bool, canChange bool, d *Dec
18304 18304
 				changed = true
18305 18305
 			}
18306 18306
 			slh.End()
18307
-			return
18307
+			return v, changed
18308 18308
 		}
18309 18309
 		if cap(v) == 0 {
18310 18310
 			v = make([]uint, 1, 4)
... ...
@@ -18378,7 +18378,7 @@ func (_ fastpathT) DecSliceUint16V(v []uint16, checkNil bool, canChange bool, d
18378 18378
 			changed = true
18379 18379
 		}
18380 18380
 		slh.End()
18381
-		return
18381
+		return v, changed
18382 18382
 	}
18383 18383
 
18384 18384
 	if containerLenS > 0 {
... ...
@@ -18437,7 +18437,7 @@ func (_ fastpathT) DecSliceUint16V(v []uint16, checkNil bool, canChange bool, d
18437 18437
 				changed = true
18438 18438
 			}
18439 18439
 			slh.End()
18440
-			return
18440
+			return v, changed
18441 18441
 		}
18442 18442
 		if cap(v) == 0 {
18443 18443
 			v = make([]uint16, 1, 4)
... ...
@@ -18511,7 +18511,7 @@ func (_ fastpathT) DecSliceUint32V(v []uint32, checkNil bool, canChange bool, d
18511 18511
 			changed = true
18512 18512
 		}
18513 18513
 		slh.End()
18514
-		return
18514
+		return v, changed
18515 18515
 	}
18516 18516
 
18517 18517
 	if containerLenS > 0 {
... ...
@@ -18570,7 +18570,7 @@ func (_ fastpathT) DecSliceUint32V(v []uint32, checkNil bool, canChange bool, d
18570 18570
 				changed = true
18571 18571
 			}
18572 18572
 			slh.End()
18573
-			return
18573
+			return v, changed
18574 18574
 		}
18575 18575
 		if cap(v) == 0 {
18576 18576
 			v = make([]uint32, 1, 4)
... ...
@@ -18644,7 +18644,7 @@ func (_ fastpathT) DecSliceUint64V(v []uint64, checkNil bool, canChange bool, d
18644 18644
 			changed = true
18645 18645
 		}
18646 18646
 		slh.End()
18647
-		return
18647
+		return v, changed
18648 18648
 	}
18649 18649
 
18650 18650
 	if containerLenS > 0 {
... ...
@@ -18703,7 +18703,7 @@ func (_ fastpathT) DecSliceUint64V(v []uint64, checkNil bool, canChange bool, d
18703 18703
 				changed = true
18704 18704
 			}
18705 18705
 			slh.End()
18706
-			return
18706
+			return v, changed
18707 18707
 		}
18708 18708
 		if cap(v) == 0 {
18709 18709
 			v = make([]uint64, 1, 4)
... ...
@@ -18777,7 +18777,7 @@ func (_ fastpathT) DecSliceUintptrV(v []uintptr, checkNil bool, canChange bool,
18777 18777
 			changed = true
18778 18778
 		}
18779 18779
 		slh.End()
18780
-		return
18780
+		return v, changed
18781 18781
 	}
18782 18782
 
18783 18783
 	if containerLenS > 0 {
... ...
@@ -18836,7 +18836,7 @@ func (_ fastpathT) DecSliceUintptrV(v []uintptr, checkNil bool, canChange bool,
18836 18836
 				changed = true
18837 18837
 			}
18838 18838
 			slh.End()
18839
-			return
18839
+			return v, changed
18840 18840
 		}
18841 18841
 		if cap(v) == 0 {
18842 18842
 			v = make([]uintptr, 1, 4)
... ...
@@ -18910,7 +18910,7 @@ func (_ fastpathT) DecSliceIntV(v []int, checkNil bool, canChange bool, d *Decod
18910 18910
 			changed = true
18911 18911
 		}
18912 18912
 		slh.End()
18913
-		return
18913
+		return v, changed
18914 18914
 	}
18915 18915
 
18916 18916
 	if containerLenS > 0 {
... ...
@@ -18969,7 +18969,7 @@ func (_ fastpathT) DecSliceIntV(v []int, checkNil bool, canChange bool, d *Decod
18969 18969
 				changed = true
18970 18970
 			}
18971 18971
 			slh.End()
18972
-			return
18972
+			return v, changed
18973 18973
 		}
18974 18974
 		if cap(v) == 0 {
18975 18975
 			v = make([]int, 1, 4)
... ...
@@ -19043,7 +19043,7 @@ func (_ fastpathT) DecSliceInt8V(v []int8, checkNil bool, canChange bool, d *Dec
19043 19043
 			changed = true
19044 19044
 		}
19045 19045
 		slh.End()
19046
-		return
19046
+		return v, changed
19047 19047
 	}
19048 19048
 
19049 19049
 	if containerLenS > 0 {
... ...
@@ -19102,7 +19102,7 @@ func (_ fastpathT) DecSliceInt8V(v []int8, checkNil bool, canChange bool, d *Dec
19102 19102
 				changed = true
19103 19103
 			}
19104 19104
 			slh.End()
19105
-			return
19105
+			return v, changed
19106 19106
 		}
19107 19107
 		if cap(v) == 0 {
19108 19108
 			v = make([]int8, 1, 4)
... ...
@@ -19176,7 +19176,7 @@ func (_ fastpathT) DecSliceInt16V(v []int16, checkNil bool, canChange bool, d *D
19176 19176
 			changed = true
19177 19177
 		}
19178 19178
 		slh.End()
19179
-		return
19179
+		return v, changed
19180 19180
 	}
19181 19181
 
19182 19182
 	if containerLenS > 0 {
... ...
@@ -19235,7 +19235,7 @@ func (_ fastpathT) DecSliceInt16V(v []int16, checkNil bool, canChange bool, d *D
19235 19235
 				changed = true
19236 19236
 			}
19237 19237
 			slh.End()
19238
-			return
19238
+			return v, changed
19239 19239
 		}
19240 19240
 		if cap(v) == 0 {
19241 19241
 			v = make([]int16, 1, 4)
... ...
@@ -19309,7 +19309,7 @@ func (_ fastpathT) DecSliceInt32V(v []int32, checkNil bool, canChange bool, d *D
19309 19309
 			changed = true
19310 19310
 		}
19311 19311
 		slh.End()
19312
-		return
19312
+		return v, changed
19313 19313
 	}
19314 19314
 
19315 19315
 	if containerLenS > 0 {
... ...
@@ -19368,7 +19368,7 @@ func (_ fastpathT) DecSliceInt32V(v []int32, checkNil bool, canChange bool, d *D
19368 19368
 				changed = true
19369 19369
 			}
19370 19370
 			slh.End()
19371
-			return
19371
+			return v, changed
19372 19372
 		}
19373 19373
 		if cap(v) == 0 {
19374 19374
 			v = make([]int32, 1, 4)
... ...
@@ -19442,7 +19442,7 @@ func (_ fastpathT) DecSliceInt64V(v []int64, checkNil bool, canChange bool, d *D
19442 19442
 			changed = true
19443 19443
 		}
19444 19444
 		slh.End()
19445
-		return
19445
+		return v, changed
19446 19446
 	}
19447 19447
 
19448 19448
 	if containerLenS > 0 {
... ...
@@ -19501,7 +19501,7 @@ func (_ fastpathT) DecSliceInt64V(v []int64, checkNil bool, canChange bool, d *D
19501 19501
 				changed = true
19502 19502
 			}
19503 19503
 			slh.End()
19504
-			return
19504
+			return v, changed
19505 19505
 		}
19506 19506
 		if cap(v) == 0 {
19507 19507
 			v = make([]int64, 1, 4)
... ...
@@ -19575,7 +19575,7 @@ func (_ fastpathT) DecSliceBoolV(v []bool, checkNil bool, canChange bool, d *Dec
19575 19575
 			changed = true
19576 19576
 		}
19577 19577
 		slh.End()
19578
-		return
19578
+		return v, changed
19579 19579
 	}
19580 19580
 
19581 19581
 	if containerLenS > 0 {
... ...
@@ -19634,7 +19634,7 @@ func (_ fastpathT) DecSliceBoolV(v []bool, checkNil bool, canChange bool, d *Dec
19634 19634
 				changed = true
19635 19635
 			}
19636 19636
 			slh.End()
19637
-			return
19637
+			return v, changed
19638 19638
 		}
19639 19639
 		if cap(v) == 0 {
19640 19640
 			v = make([]bool, 1, 4)
... ...
@@ -328,7 +328,7 @@ func (_ fastpathT) {{ .MethodNamePfx "Dec" false }}V(v []{{ .Elem }}, checkNil b
328 328
 			changed = true
329 329
 		}
330 330
 		slh.End()
331
-		return
331
+		return v, changed
332 332
 	}
333 333
 	
334 334
 	if containerLenS > 0 {
... ...
@@ -391,7 +391,7 @@ func (_ fastpathT) {{ .MethodNamePfx "Dec" false }}V(v []{{ .Elem }}, checkNil b
391 391
 				changed = true
392 392
 			}
393 393
 			slh.End()
394
-			return
394
+			return v, changed
395 395
 		}
396 396
 		if cap(v) == 0 {
397 397
 			v = make([]{{ .Elem }}, 1, 4)
... ...
@@ -129,3 +129,16 @@ echo "delete all: ok"
129 129
 SA_TOKEN=`oc get sa/builder --template='{{range .secrets}}{{ .name }} {{end}}' | xargs -n 1 oc get secret --template='{{ if .data.token }}{{ .data.token }}{{end}}' | os::util::base64decode -`
130 130
 os::cmd::expect_failure_and_text "oc new-project --token=${SA_TOKEN} will-fail" 'Error from server: You may not request a new project via this API'
131 131
 
132
+
133
+# Validate patching works correctly
134
+oc login -u system:admin
135
+# Clean up group if needed to be re-entrant
136
+oc delete group patch-group || true
137
+group_json='{"kind":"Group","apiVersion":"v1","metadata":{"name":"patch-group"}}'
138
+os::cmd::expect_success          "echo '${group_json}' | oc create -f -"
139
+os::cmd::expect_success_and_text 'oc get group patch-group -o yaml' 'users: null'
140
+os::cmd::expect_success          "oc patch group patch-group -p 'users: [\"myuser\"]' --loglevel=8"
141
+os::cmd::expect_success_and_text 'oc get group patch-group -o yaml' 'myuser'
142
+os::cmd::expect_success          "oc patch group patch-group -p 'users: []' --loglevel=8"
143
+os::cmd::expect_success_and_text 'oc get group patch-group -o yaml' 'users: \[\]'
144
+echo "patch: ok"