+func TestMetricLabeledCounterMissmatch(t *testing.T) {
+ Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ []string{"name", "event"},
+ []string{"name1", "event1"},
+ "SUBSYSTEMLERRMISSMATCH")
+
+ ret := Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ []string{"name", "eventmiss"},
+ []string{"name1", "event1"},
+ "SUBSYSTEMLERRMISSMATCH")
+
+ if ret != nil {
+ t.Errorf("Returned counter even its labels are mismatching")
+ }
+
+ ret = Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ []string{"name"},
+ []string{"name1"},
+ "SUBSYSTEMLERRMISSMATCH")
+
+ if ret != nil {
+ t.Errorf("Returned counter even its labels are mismatching")
+ }
+
+}
+
+func TestMetricLabeledCounterWrongOrder(t *testing.T) {
+ Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ []string{"name", "event"},
+ []string{"name1", "event1"},
+ "SUBSYSTEMLERRWRONGORDER")
+
+ ret := Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ []string{"event", "name"},
+ []string{"name1", "event1"},
+ "SUBSYSTEMLERRWRONGORDER")
+
+ if ret != nil {
+ t.Errorf("Returned counter even its labels order is wrong")
+ }
+}
+
+func TestMetricLabeledCounterCounterNameExists(t *testing.T) {
+ Metric.RegisterCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ "SUBSYSTEMLERRNAMEEXISTS")
+
+ ret := Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter1", Help: "counter1"},
+ []string{"name", "event"},
+ []string{"name1", "event1"},
+ "SUBSYSTEMLERRNAMEEXISTS")
+
+ if ret != nil {
+ t.Errorf("Returned labeled counter even its name conflicts with existing counter name")
+ }
+}
+
+func TestMetricCounterLabeledCounterNameExists(t *testing.T) {
+ Metric.RegisterLabeledCounter(
+ CounterOpts{Name: "counter2", Help: "counter2"},
+ []string{"name", "event"},
+ []string{"name1", "event1"},
+ "SUBSYSTEMLERRNAMEEXISTS")
+
+ ret := Metric.RegisterCounter(
+ CounterOpts{Name: "counter2", Help: "counter2"},
+ "SUBSYSTEMLERRNAMEEXISTS")
+
+ if ret != nil {
+ t.Errorf("Returned counter even its name conflicts with existing labeled counter name")
+ }
+}
+
+func TestMetricLabeledCounterGroup(t *testing.T) {