From 4f3c82a5e8c8259bfdd33bfce31ca348e4596975 Mon Sep 17 00:00:00 2001 From: danimtb Date: Mon, 20 Aug 2018 13:05:52 +0200 Subject: [PATCH 1/2] Create .sh files in virtualenv generators for Win subsytems --- conans/client/generators/virtualenv.py | 7 +- conans/test/generators/virtualenv_test.py | 106 +++++++++++++--------- 2 files changed, 66 insertions(+), 47 deletions(-) diff --git a/conans/client/generators/virtualenv.py b/conans/client/generators/virtualenv.py index ebd3ec5ff66..0db03da9dae 100644 --- a/conans/client/generators/virtualenv.py +++ b/conans/client/generators/virtualenv.py @@ -127,9 +127,8 @@ def content(self): result["activate.ps1"] = os.linesep.join(activate) result["deactivate.ps1"] = os.linesep.join(deactivate) - if os_info.is_posix: - activate, deactivate = self._sh_lines() - result["activate.sh"] = os.linesep.join(activate) - result["deactivate.sh"] = os.linesep.join(deactivate) + activate, deactivate = self._sh_lines() + result["activate.sh"] = os.linesep.join(activate) + result["deactivate.sh"] = os.linesep.join(deactivate) return result diff --git a/conans/test/generators/virtualenv_test.py b/conans/test/generators/virtualenv_test.py index 90619e15610..b2cd82a4e52 100644 --- a/conans/test/generators/virtualenv_test.py +++ b/conans/test/generators/virtualenv_test.py @@ -76,53 +76,73 @@ def package_info(self): self.assertIn('$env:SPECIAL_VAR = "dummyValue"', activate) deactivate = load(os.path.join(client.current_folder, "deactivate.bat")) - self.assertIn('SET PROMPT=%s' % env.setdefault('PROMPT',''), deactivate) - self.assertIn('SET BASE_LIST=%s' % env.setdefault('BASE_LIST',''), deactivate) - self.assertIn('SET BASE_VAR=%s' % env.setdefault('BASE_VAR',''), deactivate) - self.assertIn('SET CPPFLAGS=%s' % env.setdefault('CPPFLAGS',''), deactivate) - self.assertIn('SET LD_LIBRARY_PATH=%s' % env.setdefault('LD_LIBRARY_PATH',''), deactivate) - self.assertIn('SET PATH=%s' % env.setdefault('PATH',''), deactivate) - self.assertIn('SET SPECIAL_VAR=%s' % env.setdefault('SPECIAL_VAR',''), deactivate) + self.assertIn('SET PROMPT=%s' % env.setdefault('PROMPT', ''), deactivate) + self.assertIn('SET BASE_LIST=%s' % env.setdefault('BASE_LIST', ''), deactivate) + self.assertIn('SET BASE_VAR=%s' % env.setdefault('BASE_VAR', ''), deactivate) + self.assertIn('SET CPPFLAGS=%s' % env.setdefault('CPPFLAGS', ''), deactivate) + self.assertIn('SET LD_LIBRARY_PATH=%s' % env.setdefault('LD_LIBRARY_PATH', ''), deactivate) + self.assertIn('SET PATH=%s' % env.setdefault('PATH', ''), deactivate) + self.assertIn('SET SPECIAL_VAR=%s' % env.setdefault('SPECIAL_VAR', ''), deactivate) deactivate = load(os.path.join(client.current_folder, "deactivate.ps1")) - self.assertIn('$env:BASE_LIST = "%s"' % env.setdefault('BASE_LIST',''), deactivate) - self.assertIn('$env:BASE_VAR = "%s"' % env.setdefault('BASE_VAR',''), deactivate) - self.assertIn('$env:CPPFLAGS = "%s"' % env.setdefault('CPPFLAGS',''), deactivate) - self.assertIn('$env:LD_LIBRARY_PATH = "%s"' % env.setdefault('LD_LIBRARY_PATH',''), deactivate) - self.assertIn('$env:PATH = "%s"' % env.setdefault('PATH',''), deactivate) - self.assertIn('$env:SPECIAL_VAR = "%s"' % env.setdefault('SPECIAL_VAR',''), deactivate) + self.assertIn('$env:BASE_LIST = "%s"' % env.setdefault('BASE_LIST', ''), deactivate) + self.assertIn('$env:BASE_VAR = "%s"' % env.setdefault('BASE_VAR', ''), deactivate) + self.assertIn('$env:CPPFLAGS = "%s"' % env.setdefault('CPPFLAGS', ''), deactivate) + self.assertIn('$env:LD_LIBRARY_PATH = "%s"' % env.setdefault('LD_LIBRARY_PATH', ''), deactivate) + self.assertIn('$env:PATH = "%s"' % env.setdefault('PATH', ''), deactivate) + self.assertIn('$env:SPECIAL_VAR = "%s"' % env.setdefault('SPECIAL_VAR', ''), deactivate) - if os_info.is_posix: - activate = load(os.path.join(client.current_folder, "activate.sh")) - self.assertIn('OLD_PS1="$PS1"\nexport OLD_PS1', activate) - self.assertIn('PS1="(conanenv) $PS1"\nexport PS1', activate) - self.assertIn('BASE_LIST="dummyValue1":"dummyValue2":"baseValue1":"baseValue2":$BASE_LIST\nexport BASE_LIST', activate) - self.assertIn('BASE_VAR="baseValue"\nexport BASE_VAR', activate) - self.assertIn('CPPFLAGS="-flag1 -flag2 -baseFlag1 -baseFlag2 $CPPFLAGS"\nexport CPPFLAGS', activate) - self.assertIn('LD_LIBRARY_PATH="dummydir/lib":"basedir/lib":$LD_LIBRARY_PATH\nexport LD_LIBRARY_PATH', activate) - self.assertIn('PATH="dummydir/bin":"basedir/bin":"samebin":$PATH\nexport PATH', activate) - self.assertIn('SPECIAL_VAR="dummyValue"\nexport SPECIAL_VAR', activate) + activate = load(os.path.join(client.current_folder, "activate.sh")) + self.assertIn('OLD_PS1="$PS1"', activate) + self.assertIn('export OLD_PS1', activate) + self.assertIn('PS1="(conanenv) $PS1"', activate) + self.assertIn('export PS1', activate) + self.assertIn('BASE_LIST="dummyValue1":"dummyValue2":"baseValue1":"baseValue2":$BASE_LIST', activate) + self.assertIn('export BASE_LIST', activate) + self.assertIn('BASE_VAR="baseValue"', activate) + self.assertIn('export BASE_VAR', activate) + self.assertIn('CPPFLAGS="-flag1 -flag2 -baseFlag1 -baseFlag2 $CPPFLAGS"', activate) + self.assertIn('export CPPFLAGS', activate) + self.assertIn('SPECIAL_VAR="dummyValue"', activate) + self.assertIn('export SPECIAL_VAR', activate) + if os_info.is_windows: + self.assertIn('LD_LIBRARY_PATH="dummydir\\lib":"basedir\\lib":$LD_LIBRARY_PATH', activate) + self.assertIn('PATH="dummydir\\bin":"basedir\\bin":"samebin":$PATH', activate) + else: + self.assertIn('LD_LIBRARY_PATH="dummydir/lib":"basedir/lib":$LD_LIBRARY_PATH', activate) + self.assertIn('PATH="dummydir/bin":"basedir/bin":"samebin":$PATH', activate) + self.assertIn('export LD_LIBRARY_PATH', activate) + self.assertIn('export PATH', activate) - deactivate = load(os.path.join(client.current_folder, "deactivate.sh")) - if posix_empty_vars: - self.assertIn('unset OLD_PS1', deactivate) - if not get_env("PS1"): - self.assertIn('unset PS1', deactivate) - self.assertIn('unset BASE_LIST', deactivate) - self.assertIn('unset BASE_VAR', deactivate) - self.assertIn('unset CPPFLAGS', deactivate) - self.assertIn('unset LD_LIBRARY_PATH', deactivate) - self.assertIn('PATH="%s"\nexport PATH' % env.setdefault('PATH',''), deactivate) - self.assertIn('unset SPECIAL_VAR', deactivate) - else: - self.assertIn('OLD_PS1="%s"\nexport OLD_PS1' % env.setdefault('OLD_PS1', ''), deactivate) - self.assertIn('PS1="%s"\nexport PS1' % env.setdefault('PS1', ''), deactivate) - self.assertIn('BASE_LIST="%s"\nexport BASE_LIST' % env.setdefault('BASE_LIST', ''), deactivate) - self.assertIn('BASE_VAR="%s"\nexport BASE_VAR' % env.setdefault('BASE_VAR', ''), deactivate) - self.assertIn('CPPFLAGS="%s"\nexport CPPFLAGS' % env.setdefault('CPPFLAGS', ''), deactivate) - self.assertIn('LD_LIBRARY_PATH="%s"\nexport LD_LIBRARY_PATH' % env.setdefault('LD_LIBRARY_PATH', ''), deactivate) - self.assertIn('PATH="%s"\nexport PATH' % env.setdefault('PATH', ''), deactivate) - self.assertIn('SPECIAL_VAR="%s"\nexport SPECIAL_VAR' % env.setdefault('SPECIAL_VAR', ''), deactivate) + deactivate = load(os.path.join(client.current_folder, "deactivate.sh")) + if posix_empty_vars: + self.assertIn('unset OLD_PS1', deactivate) + if not get_env("PS1"): + self.assertIn('unset PS1', deactivate) + self.assertIn('unset BASE_LIST', deactivate) + self.assertIn('unset BASE_VAR', deactivate) + self.assertIn('unset CPPFLAGS', deactivate) + self.assertIn('unset LD_LIBRARY_PATH', deactivate) + self.assertIn('PATH="%s"' % env.setdefault('PATH', ''), deactivate) + self.assertIn('export PATH', deactivate) + self.assertIn('unset SPECIAL_VAR', deactivate) + else: + self.assertIn('OLD_PS1="%s"' % env.setdefault('OLD_PS1', ''), deactivate) + self.assertIn('export OLD_PS1', deactivate) + self.assertIn('PS1="%s"' % env.setdefault('PS1', ''), deactivate) + self.assertIn('export PS1', deactivate) + self.assertIn('BASE_LIST="%s"' % env.setdefault('BASE_LIST', ''), deactivate) + self.assertIn('export BASE_LIST', deactivate) + self.assertIn('BASE_VAR="%s"' % env.setdefault('BASE_VAR', ''), deactivate) + self.assertIn('export BASE_VAR', deactivate) + self.assertIn('CPPFLAGS="%s"' % env.setdefault('CPPFLAGS', ''), deactivate) + self.assertIn('export CPPFLAGS', deactivate) + self.assertIn('LD_LIBRARY_PATH="%s"' % env.setdefault('LD_LIBRARY_PATH', ''), deactivate) + self.assertIn('export LD_LIBRARY_PATH', deactivate) + self.assertIn('PATH="%s"' % env.setdefault('PATH', ''), deactivate) + self.assertIn('export PATH', deactivate) + self.assertIn('SPECIAL_VAR="%s"' % env.setdefault('SPECIAL_VAR', ''), deactivate) + self.assertIn('export SPECIAL_VAR', deactivate) def environment_test(self): os.environ["PROMPT"] = "old_PROMPT" From 7d89d4a14e6d4c487acde5a2c79be63c864892a5 Mon Sep 17 00:00:00 2001 From: danimtb Date: Mon, 20 Aug 2018 13:31:40 +0200 Subject: [PATCH 2/2] fix test --- conans/test/generators/generators_test.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conans/test/generators/generators_test.py b/conans/test/generators/generators_test.py index e0a406ca6d0..becaa6891a9 100644 --- a/conans/test/generators/generators_test.py +++ b/conans/test/generators/generators_test.py @@ -40,7 +40,8 @@ def test_base(self): virtualenvFiles = ["activate.sh", "deactivate.sh"] if platform.system() == "Windows": - virtualenvFiles = ["activate.bat", "deactivate.bat", "activate.ps1", "deactivate.ps1"] + virtualenvFiles.extend(["activate.bat", "deactivate.bat", "activate.ps1", + "deactivate.ps1"]) self.assertEqual(sorted(['conanfile.txt', 'conaninfo.txt', 'conanbuildinfo.cmake', 'conanbuildinfo.gcc', 'conanbuildinfo.qbs', 'conanbuildinfo.pri',