@@ -762,14 +762,28 @@ where
762
762
mod tests {
763
763
use std:: sync:: Arc ;
764
764
765
- use opentelemetry:: metrics:: { InstrumentProvider , MetricsError , Unit } ;
765
+ use opentelemetry:: metrics:: { InstrumentProvider , MeterProvider , MetricsError , Unit } ;
766
766
767
767
use super :: {
768
768
InstrumentValidationPolicy , SdkMeter , INSTRUMENT_NAME_FIRST_ALPHABETIC ,
769
769
INSTRUMENT_NAME_INVALID_CHAR , INSTRUMENT_NAME_LENGTH , INSTRUMENT_UNIT_INVALID_CHAR ,
770
770
INSTRUMENT_UNIT_LENGTH ,
771
771
} ;
772
- use crate :: { metrics:: pipeline:: Pipelines , Resource , Scope } ;
772
+ use crate :: {
773
+ metrics:: { pipeline:: Pipelines , SdkMeterProvider } ,
774
+ Resource , Scope ,
775
+ } ;
776
+
777
+ #[ test]
778
+ #[ ignore = "See issue https://github.com/open-telemetry/opentelemetry-rust/issues/1699" ]
779
+ fn test_instrument_creation ( ) {
780
+ let provider = SdkMeterProvider :: builder ( ) . build ( ) ;
781
+ let meter = provider. meter ( "test" ) ;
782
+ assert ! ( meter. u64_counter( "test" ) . try_init( ) . is_ok( ) ) ;
783
+ let result = meter. u64_counter ( "test with invalid name" ) . try_init ( ) ;
784
+ // this assert fails, as result is always ok variant.
785
+ assert ! ( result. is_err( ) ) ;
786
+ }
773
787
774
788
#[ test]
775
789
fn test_instrument_config_validation ( ) {
@@ -787,9 +801,9 @@ mod tests {
787
801
( "a" . repeat( 255 ) . leak( ) , "" ) ,
788
802
( "a" . repeat( 256 ) . leak( ) , INSTRUMENT_NAME_LENGTH ) ,
789
803
( "invalid name" , INSTRUMENT_NAME_INVALID_CHAR ) ,
790
- // hyphens are now valid characters in the specification.
791
- // https://github.com/open-telemetry/opentelemetry-specification/pull/3684
792
- ( "allow/hyphen " , "" ) ,
804
+ ( "allow/slash" , "" ) ,
805
+ ( "allow_under_score" , "" ) ,
806
+ ( "allow.dots.ok " , "" ) ,
793
807
] ;
794
808
for ( name, expected_error) in instrument_name_test_cases {
795
809
let assert = |result : Result < _ , MetricsError > | {
@@ -865,6 +879,9 @@ mod tests {
865
879
) ,
866
880
( "utf8char锈" , INSTRUMENT_UNIT_INVALID_CHAR ) ,
867
881
( "kb" , "" ) ,
882
+ ( "Kb/sec" , "" ) ,
883
+ ( "%" , "" ) ,
884
+ ( "" , "" ) ,
868
885
] ;
869
886
870
887
for ( unit, expected_error) in instrument_unit_test_cases {
0 commit comments