| ... | ... |
@@ -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" |