src/tests/cli/t_pkg_list.py
changeset 1537 00a5b4d54eb8
parent 1516 8c950a3b4171
child 1538 78ac66abc186
equal deleted inserted replaced
1536:482930dfa460 1537:00a5b4d54eb8
   118         def test_pkg_list_cli_opts(self):
   118         def test_pkg_list_cli_opts(self):
   119 
   119 
   120                 self.pkg("list -@", exit=2)
   120                 self.pkg("list -@", exit=2)
   121                 self.pkg("list -v -s", exit=2)
   121                 self.pkg("list -v -s", exit=2)
   122 
   122 
       
   123         def test_list_00(self):
       
   124                 """Verify that sort order and content of a full list matches
       
   125                 expected."""
       
   126 
       
   127                 self.pkg("list -aH")
       
   128                 expected = \
       
   129                     ("foo 1.2.1-0 known -----\n"
       
   130                     "foo (test2) 1.2.1-0 known -----\n"
       
   131                     "food 1.2-0 known -----\n"
       
   132                     "food (test2) 1.2-0 known -----\n")
       
   133                 output = self.reduceSpaces(self.output)
       
   134                 self.assertEqualDiff(expected, output)
       
   135 
       
   136                 self.pkg("list -afH")
       
   137                 expected = \
       
   138                     ("foo 1.2.1-0 known -----\n"
       
   139                     "foo 1.2-0 known u----\n"
       
   140                     "foo 1.1-0 known u----\n"
       
   141                     "foo 1.0-0 known u----\n"
       
   142                     "foo 1-0 known u----\n"
       
   143                     "foo (test2) 1.2.1-0 known -----\n"
       
   144                     "foo (test2) 1.2-0 known u----\n"
       
   145                     "foo (test2) 1.1-0 known u----\n"
       
   146                     "foo (test2) 1.0-0 known u----\n"
       
   147                     "foo (test2) 1-0 known u----\n"
       
   148                     "food 1.2-0 known -----\n"
       
   149                     "food (test2) 1.2-0 known -----\n")
       
   150                 output = self.reduceSpaces(self.output)
       
   151                 self.assertEqualDiff(expected, output)
   123 
   152 
   124         def test_list_01(self):
   153         def test_list_01(self):
   125                 """List all "[email protected]" from auth "test1"."""
   154                 """List all "[email protected]" from auth "test1"."""
   126                 self.pkg("list -aH pkg://test1/[email protected],5.11-0")
   155                 self.pkg("list -afH pkg://test1/[email protected],5.11-0")
   127                 expected = \
   156                 expected = \
   128                     "foo 1.0-0 known u----\n"
   157                     "foo 1.0-0 known u----\n"
   129                 output = self.reduceSpaces(self.output)
   158                 output = self.reduceSpaces(self.output)
   130                 self.assertEqualDiff(expected, output)
   159                 self.assertEqualDiff(expected, output)
   131                 
   160                 
   132         def test_list_02(self):
   161         def test_list_02(self):
   133                 """List all "[email protected]", regardless of publisher, with "pkg:/"
   162                 """List all "[email protected]", regardless of publisher, with "pkg:/"
   134                 prefix."""
   163                 prefix."""
   135                 self.pkg("list -aH pkg:/[email protected],5.11-0")
   164                 self.pkg("list -afH pkg:/[email protected],5.11-0")
   136                 expected = \
   165                 expected = \
   137                     "foo 1.0-0 known u----\n" \
   166                     "foo 1.0-0 known u----\n" \
   138                     "foo (test2) 1.0-0 known u----\n"
   167                     "foo (test2) 1.0-0 known u----\n"
   139                 output = self.reduceSpaces(self.output)
   168                 output = self.reduceSpaces(self.output)
   140                 self.assertEqualDiff(expected, output)
   169                 self.assertEqualDiff(expected, output)
   141 
   170 
   142         def test_list_03(self):
   171         def test_list_03(self):
   143                 """List all "[email protected]", regardless of publisher, without "pkg:/"
   172                 """List all "[email protected]", regardless of publisher, without "pkg:/"
   144                 prefix."""
   173                 prefix."""
   145                 self.pkg("list -aH pkg:/[email protected],5.11-0")
   174                 self.pkg("list -afH pkg:/[email protected],5.11-0")
   146                 expected = \
   175                 expected = \
   147                     "foo         1.0-0 known u----\n" \
   176                     "foo         1.0-0 known u----\n" \
   148                     "foo (test2) 1.0-0 known u----\n"
   177                     "foo (test2) 1.0-0 known u----\n"
   149                 output = self.reduceSpaces(self.output)
   178                 output = self.reduceSpaces(self.output)
   150                 expected = self.reduceSpaces(expected)
   179                 expected = self.reduceSpaces(expected)
   153         def test_list_04(self):
   182         def test_list_04(self):
   154                 """List all versions of package foo, regardless of publisher."""
   183                 """List all versions of package foo, regardless of publisher."""
   155                 self.pkg("list -aHf foo")
   184                 self.pkg("list -aHf foo")
   156                 expected = \
   185                 expected = \
   157                     "foo         1.2.1-0 known -----\n" \
   186                     "foo         1.2.1-0 known -----\n" \
       
   187                     "foo         1.2-0   known u----\n" \
       
   188                     "foo         1.1-0   known u----\n" \
       
   189                     "foo         1.0-0   known u----\n" \
       
   190                     "foo         1-0     known u----\n" \
   158                     "foo (test2) 1.2.1-0 known -----\n" \
   191                     "foo (test2) 1.2.1-0 known -----\n" \
   159                     "foo         1.2-0   known u----\n" \
       
   160                     "foo (test2) 1.2-0   known u----\n" \
   192                     "foo (test2) 1.2-0   known u----\n" \
   161                     "foo         1.1-0   known u----\n" \
       
   162                     "foo (test2) 1.1-0   known u----\n" \
   193                     "foo (test2) 1.1-0   known u----\n" \
   163                     "foo         1.0-0   known u----\n" \
       
   164                     "foo (test2) 1.0-0   known u----\n" \
   194                     "foo (test2) 1.0-0   known u----\n" \
   165                     "foo         1-0     known u----\n" \
       
   166                     "foo (test2) 1-0     known u----\n"
   195                     "foo (test2) 1-0     known u----\n"
   167                 output = self.reduceSpaces(self.output)
   196                 output = self.reduceSpaces(self.output)
   168                 expected = self.reduceSpaces(expected)
   197                 expected = self.reduceSpaces(expected)
   169                 self.assertEqualDiff(expected, output)
   198                 self.assertEqualDiff(expected, output)
   170 
   199 
   179                 
   208                 
   180         def test_list_05(self):
   209         def test_list_05(self):
   181                 """Show [email protected] from both depots, but 1.1 only from test2."""
   210                 """Show [email protected] from both depots, but 1.1 only from test2."""
   182                 self.pkg("list -aHf [email protected] pkg://test2/[email protected]")
   211                 self.pkg("list -aHf [email protected] pkg://test2/[email protected]")
   183                 expected = \
   212                 expected = \
   184                     "foo (test2) 1.1-0 known u----\n" + \
   213                     "foo         1.0-0 known u----\n" \
   185                     "foo         1.0-0 known u----\n" + \
   214                     "foo (test2) 1.1-0 known u----\n" \
   186                     "foo (test2) 1.0-0 known u----\n"
   215                     "foo (test2) 1.0-0 known u----\n"
   187                 output = self.reduceSpaces(self.output)
   216                 output = self.reduceSpaces(self.output)
   188                 expected = self.reduceSpaces(expected)
   217                 expected = self.reduceSpaces(expected)
   189                 self.assertEqualDiff(expected, output)
   218                 self.assertEqualDiff(expected, output)
   190 
   219 
   191                 self.pkg("list -aH [email protected] pkg://test2/[email protected]")
   220                 self.pkg("list -aHf [email protected] pkg://test2/[email protected]")
   192                 expected = \
   221                 expected = \
   193                     "foo (test2) 1.1-0 known u----\n" + \
   222                     "foo         1.0-0 known u----\n" \
   194                     "foo         1.0-0 known u----\n" 
   223                     "foo (test2) 1.1-0 known u----\n" \
       
   224                     "foo (test2) 1.0-0 known u----\n"
   195                 output = self.reduceSpaces(self.output)
   225                 output = self.reduceSpaces(self.output)
   196                 expected = self.reduceSpaces(expected)
   226                 expected = self.reduceSpaces(expected)
   197                 self.assertEqualDiff(expected, output)
   227                 self.assertEqualDiff(expected, output)
   198                 
   228                 
   199         def test_list_06(self):
   229         def test_list_06(self):
   200                 """Show versions 1.0 and 1.1 of foo only from publisher test2."""
   230                 """Show versions 1.0 and 1.1 of foo only from publisher test2."""
   201                 self.pkg("list -aHf pkg://test2/foo")
   231                 self.pkg("list -aHf pkg://test2/foo")
   202                 expected = \
   232                 expected = \
   203                     "foo (test2) 1.2.1-0 known -----\n" + \
   233                     "foo (test2) 1.2.1-0 known -----\n" \
   204                     "foo (test2) 1.2-0   known u----\n" + \
   234                     "foo (test2) 1.2-0   known u----\n" \
   205                     "foo (test2) 1.1-0   known u----\n" + \
   235                     "foo (test2) 1.1-0   known u----\n" \
   206                     "foo (test2) 1.0-0   known u----\n" + \
   236                     "foo (test2) 1.0-0   known u----\n" \
   207                     "foo (test2) 1-0     known u----\n"
   237                     "foo (test2) 1-0     known u----\n"
   208                 output = self.reduceSpaces(self.output)
   238                 output = self.reduceSpaces(self.output)
   209                 expected = self.reduceSpaces(expected)
   239                 expected = self.reduceSpaces(expected)
   210                 self.assertEqualDiff(expected, output)
   240                 self.assertEqualDiff(expected, output)
   211 
   241 
   219         def test_list_07(self):
   249         def test_list_07(self):
   220                 """List all foo@1 from test1, but all [email protected](.x), and only list
   250                 """List all foo@1 from test1, but all [email protected](.x), and only list
   221                 the latter once."""
   251                 the latter once."""
   222                 self.pkg("list -aHf pkg://test1/foo@1 pkg:/[email protected]")
   252                 self.pkg("list -aHf pkg://test1/foo@1 pkg:/[email protected]")
   223                 expected = \
   253                 expected = \
   224                     "foo         1.2.1-0 known -----\n" + \
   254                     "foo         1.2.1-0 known -----\n" \
   225                     "foo (test2) 1.2.1-0 known -----\n" + \
   255                     "foo         1.2-0   known u----\n" \
   226                     "foo         1.2-0   known u----\n" + \
   256                     "foo         1.1-0   known u----\n" \
   227                     "foo (test2) 1.2-0   known u----\n" + \
   257                     "foo         1.0-0   known u----\n" \
   228                     "foo         1.1-0   known u----\n" + \
   258                     "foo         1-0     known u----\n" \
   229                     "foo         1.0-0   known u----\n" + \
   259                     "foo (test2) 1.2.1-0 known -----\n" \
   230                     "foo         1-0     known u----\n"
   260                     "foo (test2) 1.2-0   known u----\n"
   231                 output = self.reduceSpaces(self.output)
   261                 output = self.reduceSpaces(self.output)
   232                 expected = self.reduceSpaces(expected)
   262                 expected = self.reduceSpaces(expected)
   233                 self.assertEqualDiff(expected, output)
   263                 self.assertEqualDiff(expected, output)
   234 
   264 
   235                 self.pkg("list -aH pkg://test1/foo@1 pkg:/[email protected]")
   265                 self.pkg("list -aH pkg://test1/foo@1 pkg:/[email protected]")
   255 
   285 
   256                 # Change the origin of the publisher of an installed package to
   286                 # Change the origin of the publisher of an installed package to
   257                 # that of an empty repository.  The package should still be
   287                 # that of an empty repository.  The package should still be
   258                 # shown as known for test1 and installed for test2.
   288                 # shown as known for test1 and installed for test2.
   259                 self.pkg("set-publisher -O %s test2" % durl3)
   289                 self.pkg("set-publisher -O %s test2" % durl3)
   260                 self.pkg("list -aH [email protected]")
   290                 self.pkg("list -aHf [email protected]")
   261                 expected = \
   291                 expected = \
   262                     "foo 1.0-0 known u----\n" + \
   292                     "foo 1.0-0 known u----\n" + \
   263                     "foo (test2) 1.0-0 installed u----\n"
   293                     "foo (test2) 1.0-0 installed u----\n"
   264                 output = self.reduceSpaces(self.output)
   294                 output = self.reduceSpaces(self.output)
   265                 self.assertEqualDiff(expected, output)
   295                 self.assertEqualDiff(expected, output)
   269                 # publisher back, but with an empty repository.  The package
   299                 # publisher back, but with an empty repository.  The package
   270                 # should still be shown as known for test1 and installed
   300                 # should still be shown as known for test1 and installed
   271                 # for test2.
   301                 # for test2.
   272                 self.pkg("unset-publisher test2")
   302                 self.pkg("unset-publisher test2")
   273                 self.pkg("set-publisher -O %s test2" % durl3)
   303                 self.pkg("set-publisher -O %s test2" % durl3)
   274                 self.pkg("list -aH [email protected]")
   304                 self.pkg("list -aHf [email protected]")
   275                 expected = \
   305                 expected = \
   276                     "foo 1.0-0 known u----\n" + \
   306                     "foo 1.0-0 known u----\n" + \
   277                     "foo (test2) 1.0-0 installed u----\n"
   307                     "foo (test2) 1.0-0 installed u----\n"
   278                 output = self.reduceSpaces(self.output)
   308                 output = self.reduceSpaces(self.output)
   279                 self.assertEqualDiff(expected, output)
   309                 self.assertEqualDiff(expected, output)
   284                 # installed from.  The pkg should be shown as known for test1,
   314                 # installed from.  The pkg should be shown as known for test1,
   285                 # installed for test2, and test3 shouldn't be listed since the
   315                 # installed for test2, and test3 shouldn't be listed since the
   286                 # packages in the specified repository are for publisher test2.
   316                 # packages in the specified repository are for publisher test2.
   287                 self.pkg("unset-publisher test2")
   317                 self.pkg("unset-publisher test2")
   288                 self.pkg("set-publisher -O %s test3" % durl2)
   318                 self.pkg("set-publisher -O %s test3" % durl2)
   289                 self.pkg("list -aH [email protected]")
   319                 self.pkg("list -aHf [email protected]")
   290                 expected = \
   320                 expected = \
   291                     "foo 1.0-0 known u----\n" + \
   321                     "foo 1.0-0 known u----\n" + \
   292                     "foo (test2) 1.0-0 installed u----\n"
   322                     "foo (test2) 1.0-0 installed u----\n"
   293                 output = self.reduceSpaces(self.output)
   323                 output = self.reduceSpaces(self.output)
   294                 self.assertEqualDiff(expected, output)
   324                 self.assertEqualDiff(expected, output)
   365         def test_list_matching(self):
   395         def test_list_matching(self):
   366                 """List all versions of package foo, regardless of publisher."""
   396                 """List all versions of package foo, regardless of publisher."""
   367                 self.pkg("list -aHf foo*")
   397                 self.pkg("list -aHf foo*")
   368                 expected = \
   398                 expected = \
   369                     "foo         1.2.1-0 known -----\n" \
   399                     "foo         1.2.1-0 known -----\n" \
       
   400                     "foo         1.2-0   known u----\n" \
       
   401                     "foo         1.1-0   known u----\n" \
       
   402                     "foo         1.0-0   known u----\n" \
       
   403                     "foo         1-0     known u----\n" \
   370                     "foo (test2) 1.2.1-0 known -----\n" \
   404                     "foo (test2) 1.2.1-0 known -----\n" \
   371                     "foo         1.2-0   known u----\n" \
       
   372                     "foo (test2) 1.2-0   known u----\n" \
   405                     "foo (test2) 1.2-0   known u----\n" \
   373                     "foo         1.1-0   known u----\n" \
       
   374                     "foo (test2) 1.1-0   known u----\n" \
   406                     "foo (test2) 1.1-0   known u----\n" \
   375                     "foo         1.0-0   known u----\n" \
       
   376                     "foo (test2) 1.0-0   known u----\n" \
   407                     "foo (test2) 1.0-0   known u----\n" \
   377                     "foo         1-0     known u----\n" \
       
   378                     "foo (test2) 1-0     known u----\n" \
   408                     "foo (test2) 1-0     known u----\n" \
   379                     "food        1.2-0   known -----\n" \
   409                     "food        1.2-0   known -----\n" \
   380                     "food (test2) 1.2-0  known -----\n"
   410                     "food (test2) 1.2-0  known -----\n"
   381 
   411 
   382                 output = self.reduceSpaces(self.output)
   412                 output = self.reduceSpaces(self.output)
   415         def test_list_multi_name(self):
   445         def test_list_multi_name(self):
   416                 """Test for multiple name match listing."""
   446                 """Test for multiple name match listing."""
   417                 self.pkg("list -aHf foo*@1.2")
   447                 self.pkg("list -aHf foo*@1.2")
   418                 expected = \
   448                 expected = \
   419                     "foo          1.2.1-0 known -----\n" + \
   449                     "foo          1.2.1-0 known -----\n" + \
       
   450                     "foo          1.2-0   known u----\n" + \
   420                     "foo  (test2) 1.2.1-0 known -----\n" + \
   451                     "foo  (test2) 1.2.1-0 known -----\n" + \
   421                     "foo          1.2-0   known u----\n" + \
       
   422                     "foo  (test2) 1.2-0   known u----\n" + \
   452                     "foo  (test2) 1.2-0   known u----\n" + \
   423                     "food         1.2-0   known -----\n" + \
   453                     "food         1.2-0   known -----\n" + \
   424                     "food (test2) 1.2-0   known -----\n"
   454                     "food (test2) 1.2-0   known -----\n"
   425                 output = self.reduceSpaces(self.output)
   455                 output = self.reduceSpaces(self.output)
   426                 expected = self.reduceSpaces(expected)
   456                 expected = self.reduceSpaces(expected)