@@ -53,46 +53,91 @@ func TestGetPythonVersion(t *testing.T) {
5353 t .Error ("Expected error but got none." )
5454 }
5555 if ! reflect .DeepEqual (version , test .expectedVersions ) {
56- t .Errorf ("Expected : %s. Got : %s" , test .expectedVersions , version )
56+ t .Errorf ("\n Expected : %s\n Got : %s" , test .expectedVersions , version )
5757 }
5858 }
5959}
6060
6161func TestGetPythonPackages (t * testing.T ) {
6262 testCases := []struct {
63- path string
63+ descrip string
64+ image utils.Image
6465 expectedPackages map [string ]map [string ]utils.PackageInfo
6566 }{
6667 {
67- path : "testDirs/pipTests/noPackagesTest" ,
68+ descrip : "noPackagesTest" ,
69+ image : utils.Image {
70+ FSPath : "testDirs/pipTests/noPackagesTest" ,
71+ },
6872 expectedPackages : map [string ]map [string ]utils.PackageInfo {},
6973 },
7074 {
71- path : "testDirs/pipTests/packagesOneLayer" ,
75+ descrip : "packagesMultiVersion, no PYTHONPATH" ,
76+ image : utils.Image {
77+ FSPath : "testDirs/pipTests/packagesMultiVersion" ,
78+ },
79+ expectedPackages : map [string ]map [string ]utils.PackageInfo {
80+ "packageone" : {
81+ "testDirs/pipTests/packagesMultiVersion/usr/local/lib/python3.6/site-packages" : {Version : "3.6.9" , Size : "0" },
82+ "testDirs/pipTests/packagesMultiVersion/usr/local/lib/python2.7/site-packages" : {Version : "0.1.1" , Size : "0" },
83+ },
84+ "packagetwo" : {"testDirs/pipTests/packagesMultiVersion/usr/local/lib/python3.6/site-packages" : {Version : "4.6.2" , Size : "0" }},
85+ "script1" : {"testDirs/pipTests/packagesMultiVersion/usr/local/lib/python3.6/site-packages" : {Version : "1.0" , Size : "0" }},
86+ "script2" : {"testDirs/pipTests/packagesMultiVersion/usr/local/lib/python3.6/site-packages" : {Version : "2.0" , Size : "0" }},
87+ "script3" : {"testDirs/pipTests/packagesMultiVersion/usr/local/lib/python2.7/site-packages" : {Version : "3.0" , Size : "0" }},
88+ },
89+ },
90+ {
91+ descrip : "packagesSingleVersion, no PYTHONPATH" ,
92+ image : utils.Image {
93+ FSPath : "testDirs/pipTests/packagesSingleVersion" ,
94+ },
7295 expectedPackages : map [string ]map [string ]utils.PackageInfo {
73- "packageone" : {"python3.6" : {Version : "3.6.9" , Size : "0" }},
74- "packagetwo" : {"python3.6" : {Version : "4.6.2" , Size : "0" }},
75- "script1" : {"python3.6" : {Version : "1.0" , Size : "0" }},
76- "script2" : {"python3.6" : {Version : "2.0" , Size : "0" }},
96+ "packageone" : {"testDirs/pipTests/packagesSingleVersion/usr/local/lib/ python3.6/site-packages " : {Version : "3.6.9" , Size : "0" }},
97+ "packagetwo" : {"testDirs/pipTests/packagesSingleVersion/usr/local/lib/ python3.6/site-packages " : {Version : "4.6.2" , Size : "0" }},
98+ "script1" : {"testDirs/pipTests/packagesSingleVersion/usr/local/lib/ python3.6/site-packages " : {Version : "1.0" , Size : "0" }},
99+ "script2" : {"testDirs/pipTests/packagesSingleVersion/usr/local/lib/ python3.6/site-packages " : {Version : "2.0" , Size : "0" }},
77100 },
78101 },
79102 {
80- path : "testDirs/pipTests/packagesMultiVersion" ,
103+ descrip : "pythonPathTests, PYTHONPATH" ,
104+ image : utils.Image {
105+ FSPath : "testDirs/pipTests/pythonPathTests" ,
106+ Config : utils.ConfigSchema {
107+ Config : utils.ConfigObject {
108+ Env : []string {"PYTHONPATH=testDirs/pipTests/pythonPathTests/pythonPath1:testDirs/pipTests/pythonPathTests/pythonPath2/subdir" , "ENVVAR2=something" },
109+ },
110+ },
111+ },
112+ expectedPackages : map [string ]map [string ]utils.PackageInfo {
113+ "packageone" : {"testDirs/pipTests/pythonPathTests/usr/local/lib/python3.6/site-packages" : {Version : "3.6.9" , Size : "0" }},
114+ "packagetwo" : {"testDirs/pipTests/pythonPathTests/usr/local/lib/python3.6/site-packages" : {Version : "4.6.2" , Size : "0" }},
115+ "packagefive" : {"testDirs/pipTests/pythonPathTests/pythonPath2/subdir" : {Version : "3.6.9" , Size : "0" }},
116+ "packagesix" : {"testDirs/pipTests/pythonPathTests/pythonPath1" : {Version : "3.6.9" , Size : "0" }},
117+ "packageseven" : {"testDirs/pipTests/pythonPathTests/pythonPath1" : {Version : "4.6.2" , Size : "0" }},
118+ },
119+ },
120+ {
121+ descrip : "pythonPathTests, no PYTHONPATH" ,
122+ image : utils.Image {
123+ FSPath : "testDirs/pipTests/pythonPathTests" ,
124+ Config : utils.ConfigSchema {
125+ Config : utils.ConfigObject {
126+ Env : []string {"ENVVAR=something" },
127+ },
128+ },
129+ },
81130 expectedPackages : map [string ]map [string ]utils.PackageInfo {
82- "packageone" : {"python3.6" : {Version : "3.6.9" , Size : "0" },
83- "python2.7" : {Version : "0.1.1" , Size : "0" }},
84- "packagetwo" : {"python3.6" : {Version : "4.6.2" , Size : "0" }},
85- "script1" : {"python3.6" : {Version : "1.0" , Size : "0" }},
86- "script2" : {"python3.6" : {Version : "2.0" , Size : "0" }},
87- "script3" : {"python2.7" : {Version : "3.0" , Size : "0" }},
131+ "packageone" : {"testDirs/pipTests/pythonPathTests/usr/local/lib/python3.6/site-packages" : {Version : "3.6.9" , Size : "0" }},
132+ "packagetwo" : {"testDirs/pipTests/pythonPathTests/usr/local/lib/python3.6/site-packages" : {Version : "4.6.2" , Size : "0" }},
88133 },
89134 },
90135 }
91136 for _ , test := range testCases {
92137 d := PipDiffer {}
93- packages , _ := d .getPackages (test .path )
138+ packages , _ := d .getPackages (test .image )
94139 if ! reflect .DeepEqual (packages , test .expectedPackages ) {
95- t .Errorf ("Expected : %s but got : %s" , test .expectedPackages , packages )
140+ t .Errorf ("%s \n Expected : %s\n Got : %s" , test . descrip , test .expectedPackages , packages )
96141 }
97142 }
98143}
0 commit comments