def test_profile(): myprofile = textwrap.dedent(""" # define MyVar1 =MyValue1 # append MyVar2+=MyValue2 # multiple append works MyVar2+=MyValue2_2 # prepend MyVar3=+MyValue3 # unset MyVar4=! # Empty MyVar5= # PATHS # define MyPath1=(path)/my/path1 # append MyPath2+=(path)/my/path2 # multiple append works MyPath2+=(path)/my/path2_2 # prepend MyPath3=+(path)/my/path3 # unset MyPath4=! # PER-PACKAGE mypkg*:MyVar2=MyValue2 """) profile_env = ProfileEnvironment.loads(myprofile) env = profile_env.get_profile_env("") env = env.vars(ConanFileMock()) with environment_append({ "MyVar1": "$MyVar1", "MyVar2": "$MyVar2", "MyVar3": "$MyVar3", "MyVar4": "$MyVar4" }): assert env.get("MyVar1") == "MyValue1" assert env.get("MyVar2", "$MyVar2") == '$MyVar2 MyValue2 MyValue2_2' assert env.get("MyVar3", "$MyVar3") == 'MyValue3 $MyVar3' assert env.get("MyVar4") == "" assert env.get("MyVar5") == '' env = profile_env.get_profile_env("mypkg1/1.0") env = env.vars(ConanFileMock()) assert env.get("MyVar1") == "MyValue1" assert env.get("MyVar2", "$MyVar2") == 'MyValue2'
def test_combined(self): myprofile = textwrap.dedent(""" MyVar1=+MyValue11 MyVar1+=MyValue12 MyPath1=+(path)/my/path11 MyPath1+=(path)/my/path12 """) env = ProfileEnvironment.loads(myprofile) text = env.dumps() assert text == textwrap.dedent("""\ MyVar1=+MyValue11 MyVar1+=MyValue12 MyPath1=+(path)/my/path11 MyPath1+=(path)/my/path12 """)
def test_combined2(self): myprofile = textwrap.dedent(""" MyVar1+=MyValue11 MyVar1=+MyValue12 MyPath1+=(path)/my/path11 MyPath1=+(path)/my/path12 """) env = ProfileEnvironment.loads(myprofile) text = env.dumps() # NOTE: This is reversed order compared to origin, prepend always first assert text == textwrap.dedent("""\ MyVar1=+MyValue12 MyVar1+=MyValue11 MyPath1=+(path)/my/path12 MyPath1+=(path)/my/path11 """)