Repository: conda/conda

Issue:
Test failures against Python 3.7 using recipe in https://github.com/AnacondaRecipes/conda-feedstock.git
Getting the following test failures, have ignored them for the in-progress build outs, but we should aim to not release the ones that failed.

```
=================================== FAILURES ===================================
_________________ test_PackageCacheData_return_value_contract __________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/test_api.py", line 199, in test_PackageCacheData_return_value_contract
    single_pcrec = next(pc.iter_records())
StopIteration
_____________________________ test_check_whitelist _____________________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/core/test_index.py", line 42, in test_check_whitelist
    check_whitelist((DEFAULT_CHANNELS[0], DEFAULT_CHANNELS[1]))
  File "/opt/conda/conda-bld/conda_1530271501905/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.7/site-packages/conda/core/index.py", line 41, in check_whitelist
    % (bad_channel.location, bad_channel.canonical_name))
conda.exceptions.OperationNotAllowed: Channel not included in whitelist:
  location: repo.anaconda.com
  canonical name: https://repo.anaconda.com/pkgs/free

___________ DefaultConfigChannelTests.test_channel_name_subdir_only ____________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 145, in test_channel_name_subdir_only
    assert channel.location == "repo.anaconda.com"
AssertionError: assert 'conda.anaconda.org' == 'repo.anaconda.com'
  - conda.anaconda.org
  + repo.anaconda.com
________________ DefaultConfigChannelTests.test_default_channel ________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 99, in test_default_channel
    assert dc.urls() == self.DEFAULT_URLS
AssertionError: assert ['https://rep.../main/noarch'] == ['https://repo.../noarch', ...]
  Right contains more items, first extra item: 'https://repo.anaconda.com/pkgs/free/linux-64'
  Full diff:
  ['https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/main/noarch',
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/free/linux-64',
  +  'https://repo.anaconda.com/pkgs/free/noarch',
  +  'https://repo.anaconda.com/pkgs/r/linux-64',
  +  'https://repo.anaconda.com/pkgs/r/noarch',
  +  'https://repo.anaconda.com/pkgs/pro/linux-64',
  +  'https://repo.anaconda.com/pkgs/pro/noarch']
____________ DefaultConfigChannelTests.test_url_channel_w_platform _____________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 119, in test_url_channel_w_platform
    assert channel.canonical_name == 'defaults'
AssertionError: assert 'https://repo...com/pkgs/free' == 'defaults'
  - https://repo.anaconda.com/pkgs/free
  + defaults
________________ CustomConfigChannelTests.test_defaults_channel ________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 564, in test_defaults_channel
    assert channel.urls() == self.DEFAULT_URLS
AssertionError: assert ['http://192..../noarch', ...] == ['http://192.1...msys2/noarch']
  Left contains more items, first extra item: 'https://repo.anaconda.com/pkgs/main/linux-64'
  Full diff:
  ['http://192.168.0.15:8080/pkgs/anaconda/linux-64',
  'http://192.168.0.15:8080/pkgs/anaconda/noarch',
  'http://192.168.0.15:8080/pkgs/pro/linux-64',
  'http://192.168.0.15:8080/pkgs/pro/noarch',
  'http://192.168.0.15:8080/pkgs/msys2/linux-64',
  -  'http://192.168.0.15:8080/pkgs/msys2/noarch',
  ?                                              ^
  +  'http://192.168.0.15:8080/pkgs/msys2/noarch']
  ?                                              ^
  -  'https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
_____________ ChannelAuthTokenPriorityTests.test_default_channels ______________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 774, in test_default_channels
    assert channel.urls() == [
AssertionError: assert ['http://192..../noarch', ...] == ['http://192.1...kgs/r/noarch']
  Left contains more items, first extra item: 'https://repo.anaconda.com/pkgs/main/linux-64'
  Full diff:
  ['http://192.168.0.15:8080/pkgs/anaconda/linux-64',
  'http://192.168.0.15:8080/pkgs/anaconda/noarch',
  'ftp://new.url:8082/donald/label/main/linux-64',
  'ftp://new.url:8082/donald/label/main/noarch',
  'http://192.168.0.15:8080/pkgs/r/linux-64',
  -  'http://192.168.0.15:8080/pkgs/r/noarch',
  ?                                          ^
  +  'http://192.168.0.15:8080/pkgs/r/noarch']
  ?                                          ^
  -  'https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
_____________________ UrlChannelTests.test_subdirs_env_var _____________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 872, in test_subdirs_env_var
    assert c.urls() == list(_channel_urls())
AssertionError: assert ['https://rep.../main/noarch'] == ['https://repo.../noarch', ...]
  Right contains more items, first extra item: 'https://repo.anaconda.com/pkgs/free/linux-highest'
  Full diff:
  ['https://repo.anaconda.com/pkgs/main/linux-highest',
  'https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/main/noarch',
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/free/linux-highest',
  +  'https://repo.anaconda.com/pkgs/free/linux-64',
  +  'https://repo.anaconda.com/pkgs/free/noarch',
  +  'https://repo.anaconda.com/pkgs/r/linux-highest',
  +  'https://repo.anaconda.com/pkgs/r/linux-64',
  +  'https://repo.anaconda.com/pkgs/r/noarch',
  +  'https://repo.anaconda.com/pkgs/pro/linux-highest',
  +  'https://repo.anaconda.com/pkgs/pro/linux-64',
  +  'https://repo.anaconda.com/pkgs/pro/noarch']
__________________________ test_multichannel_priority __________________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 1014, in test_multichannel_priority
    assert channel_priority_map == OrderedDict([
AssertionError: assert OrderedDict([...-forge', 2))]) == OrderedDict([(...-forge', 5))])
  Common items:
  {'https://conda.anaconda.org/conda-test/linux-32': ('conda-test', 0),
   'https://conda.anaconda.org/conda-test/new-optimized-subdir': ('conda-test',
                                                                  0),
   'https://conda.anaconda.org/conda-test/noarch': ('conda-test', 0),
   'https://repo.anaconda.com/pkgs/main/linux-32': ('defaults', 1),
   'https://repo.anaconda.com/pkgs/main/new-optimized-subdir': ('defaults', 1),
   'https://repo.anaconda.com/pkgs/main/noarch': ('defaults', 1)}
  Differing items:
  {'https://conda.anaconda.org/conda-forge/noarch': ('conda-forge', 2)} != {'https://conda.anaconda.org/conda-forge/noarch': ('conda-forge', 5)}
  {'https://conda.anaconda.org/conda-forge/new-optimized-subdir': ('conda-forge', 2)} != {'https://conda.anaconda.org/conda-forge/new-optimized-subdir': ('conda-forge', 5)}
  {'https://conda.anaconda.org/conda-forge/linux-32': ('conda-forge', 2)} != {'https://conda.anaconda.org/conda-forge/linux-32': ('conda-forge', 5)}
  Right contains more items:
  {'https://repo.anaconda.com/pkgs/free/linux-32': ('defaults', 2),
   'https://repo.anaconda.com/pkgs/free/new-optimized-subdir': ('defaults', 2),
   'https://repo.anaconda.com/pkgs/free/noarch': ('defaults', 2),
   'https://repo.anaconda.com/pkgs/pro/linux-32': ('defaults', 4),
   'https://repo.anaconda.com/pkgs/pro/new-optimized-subdir': ('defaults', 4),
   'https://repo.anaconda.com/pkgs/pro/noarch': ('defaults', 4),
   'https://repo.anaconda.com/pkgs/r/linux-32': ('defaults', 3),
   'https://repo.anaconda.com/pkgs/r/new-optimized-subdir': ('defaults', 3),
   'https://repo.anaconda.com/pkgs/r/noarch': ('defaults', 3)}
  Full diff:
  OrderedDict([('https://conda.anaconda.org/conda-test/new-optimized-subdir',
  ('conda-test', 0)),
  ('https://conda.anaconda.org/conda-test/linux-32',
  ('conda-test', 0)),
  ('https://conda.anaconda.org/conda-test/noarch',
  ('conda-test', 0)),
  ('https://repo.anaconda.com/pkgs/main/new-optimized-subdir',
  ('defaults', 1)),
  ('https://repo.anaconda.com/pkgs/main/linux-32', ('defaults', 1)),
  ('https://repo.anaconda.com/pkgs/main/noarch', ('defaults', 1)),
  +              ('https://repo.anaconda.com/pkgs/free/new-optimized-subdir',
  +               ('defaults', 2)),
  +              ('https://repo.anaconda.com/pkgs/free/linux-32', ('defaults', 2)),
  +              ('https://repo.anaconda.com/pkgs/free/noarch', ('defaults', 2)),
  +              ('https://repo.anaconda.com/pkgs/r/new-optimized-subdir',
  +               ('defaults', 3)),
  +              ('https://repo.anaconda.com/pkgs/r/linux-32', ('defaults', 3)),
  +              ('https://repo.anaconda.com/pkgs/r/noarch', ('defaults', 3)),
  +              ('https://repo.anaconda.com/pkgs/pro/new-optimized-subdir',
  +               ('defaults', 4)),
  +              ('https://repo.anaconda.com/pkgs/pro/linux-32', ('defaults', 4)),
  +              ('https://repo.anaconda.com/pkgs/pro/noarch', ('defaults', 4)),
  ('https://conda.anaconda.org/conda-forge/new-optimized-subdir',
  -               ('conda-forge', 2)),
  ?                               ^
  +               ('conda-forge', 5)),
  ?                               ^
  ('https://conda.anaconda.org/conda-forge/linux-32',
  -               ('conda-forge', 2)),
  ?                               ^
  +               ('conda-forge', 5)),
  ?                               ^
  ('https://conda.anaconda.org/conda-forge/noarch',
  -               ('conda-forge', 2))])
  ?                               ^
  +               ('conda-forge', 5))])
  ?                               ^
___________________ UrlDistTests.test_dist_with_channel_url ____________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_dist.py", line 61, in test_dist_with_channel_url
    assert d.channel == 'defaults'
AssertionError: assert 'https://repo...com/pkgs/free' == 'defaults'
  - https://repo.anaconda.com/pkgs/free
  + defaults
_______________ PrefixRecordTests.test_prefix_record_no_channel ________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_index_record.py", line 29, in test_prefix_record_no_channel
    assert pr.channel.canonical_name == 'defaults'
AssertionError: assert 'https://repo...com/pkgs/free' == 'defaults'
  - https://repo.anaconda.com/pkgs/free
  + defaults
_____________________ MatchSpecTests.test_channel_matching _____________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_match_spec.py", line 280, in test_channel_matching
    assert ChannelMatch('defaults').match('pkgs/free') is True
AssertionError: assert False is True
 +  where False = <bound method ChannelMatch.match of 'defaults'>('pkgs/free')
 +    where <bound method ChannelMatch.match of 'defaults'> = 'defaults'.match
 +      where 'defaults' = ChannelMatch('defaults')
___________________________ MatchSpecTests.test_dist ___________________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_match_spec.py", line 336, in test_dist
    assert p.match(PackageRecord(name='python', version='3.5.1', build='0', build_number=0,
AssertionError: assert False
 +  where False = <bound method MatchSpec.match of MatchSpec(channel='defaults', name=LowerStrMatch('python'), version=VersionSpec('3.5.*'))>(PackageRecord(name='python', version='3.5.1', build='0', build_number=0, channel=Channel(scheme='https', auth=None, lo...openssl 1.0.2*', 'readline 6.2*', 'sqlite', 'tk 8.5*', 'xz 5.0.5', 'zlib 1.2*', 'pip'), subdir='osx-64', size=14678857))
 +    where <bound method MatchSpec.match of MatchSpec(channel='defaults', name=LowerStrMatch('python'), version=VersionSpec('3.5.*'))> = MatchSpec(channel='defaults', name=LowerStrMatch('python'), version=VersionSpec('3.5.*')).match
 +    and   PackageRecord(name='python', version='3.5.1', build='0', build_number=0, channel=Channel(scheme='https', auth=None, lo...openssl 1.0.2*', 'readline 6.2*', 'sqlite', 'tk 8.5*', 'xz 5.0.5', 'zlib 1.2*', 'pip'), subdir='osx-64', size=14678857) = PackageRecord(name='python', version='3.5.1', build='0', build_number=0, depends=('openssl 1.0.2*', 'readline 6.2*', 'sqlite', 'tk 8.5*', 'xz 5.0.5', 'zlib 1.2*', ...), channel=Channel(scheme='https', auth=None, location='repo.anaconda.com', token=None, name='pkgs/free', platform='osx-64', package_filename=None), subdir='osx-64', fn='python-3.5.1-0.tar.bz2', md5='a813bc0a32691ab3331ac9f37125164c', size=14678857, priority=0, url='https://repo.anaconda.com/pkgs/free/osx-64/python-3.5.1-0.tar.bz2')
 +      where Channel(scheme='https', auth=None, location='repo.anaconda.com', token=None, name='pkgs/free', platform='osx-64', package_filename=None) = Channel(scheme='https', auth=None, location='repo.anaconda.com', token=None, name='pkgs/free', platform='osx-64', package_filename=None)
_____________ SpecStrParsingTests.test_parse_spec_str_tarball_url ______________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_match_spec.py", line 487, in test_parse_spec_str_tarball_url
    assert _parse_spec_str(url) == {
AssertionError: assert {'build': 'py...license', ...} == {'build': 'py2...license', ...}
  Common items:
  {'build': 'py27_1',
   'fn': '_license-1.1-py27_1.tar.bz2',
   'name': '_license',
   'subdir': 'linux-64',
   'url': 'https://repo.anaconda.com/pkgs/free/linux-64/_license-1.1-py27_1.tar.bz2',
   'version': '1.1'}
  Differing items:
  {'channel': 'https://repo.anaconda.com/pkgs/free'} != {'channel': 'defaults'}
  Full diff:
  {'build': 'py27_1',
  -  'channel': 'https://repo.anaconda.com/pkgs/free',
  +  'channel': 'defaults',
  'fn': '_license-1.1-py27_1.tar.bz2',
  'name': '_license',
  'subdir': 'linux-64',
  'url': 'https://repo.anaconda.com/pkgs/free/linux-64/_license-1.1-py27_1.tar.bz2',
  'version': '1.1'}
========================== slowest 16 test durations ===========================
3.41s call     tests/core/test_solve.py::test_priority_1
2.26s call     tests/core/test_solve.py::test_remove_with_constrained_dependencies
1.89s call     tests/models/test_prefix_graph.py::test_prefix_graph_1
1.67s call     tests/models/test_prefix_graph.py::test_windows_sort_orders_1
1.47s call     tests/core/test_solve.py::test_features_solve_1
1.46s call     tests/core/test_solve.py::test_update_deps_1
1.17s call     tests/core/test_solve.py::test_install_uninstall_features_2
1.12s call     tests/core/test_solve.py::test_pinned_1
1.11s call     tests/core/test_solve.py::test_prune_1
1.11s call     tests/core/test_solve.py::test_broken_install
1.06s call     tests/test_logic.py::test_AMONE
0.87s call     tests/models/test_prefix_graph.py::test_deep_cyclical_dependency
0.68s call     tests/test_resolve.py::test_generate_eq_1
0.65s call     tests/core/test_solve.py::test_no_deps_1
0.63s call     tests/core/test_solve.py::test_only_deps_2
0.61s call     tests/core/test_solve.py::test_install_uninstall_features_1
= 14 failed, 422 passed, 3 skipped, 144 deselected, 1 xfailed in 35.94 seconds =
Tests failed for conda-4.5.2-py37_0.tar.bz2 - moving package to /opt/conda/conda-bld/broken
WARNING:conda_build.build:Tests failed for conda-4.5.2-py37_0.tar.bz2 - moving package to /opt/conda/conda-bld/broken
removing: conda-4.5.2-py37_0.tar.bz2
TESTS FAILED: conda-4.5.2-py37_0.tar.bz2
```
Test failures against Python 3.7 using recipe in https://github.com/AnacondaRecipes/conda-feedstock.git
Getting the following test failures, have ignored them for the in-progress build outs, but we should aim to not release the ones that failed.

```
=================================== FAILURES ===================================
_________________ test_PackageCacheData_return_value_contract __________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/test_api.py", line 199, in test_PackageCacheData_return_value_contract
    single_pcrec = next(pc.iter_records())
StopIteration
_____________________________ test_check_whitelist _____________________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/core/test_index.py", line 42, in test_check_whitelist
    check_whitelist((DEFAULT_CHANNELS[0], DEFAULT_CHANNELS[1]))
  File "/opt/conda/conda-bld/conda_1530271501905/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.7/site-packages/conda/core/index.py", line 41, in check_whitelist
    % (bad_channel.location, bad_channel.canonical_name))
conda.exceptions.OperationNotAllowed: Channel not included in whitelist:
  location: repo.anaconda.com
  canonical name: https://repo.anaconda.com/pkgs/free

___________ DefaultConfigChannelTests.test_channel_name_subdir_only ____________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 145, in test_channel_name_subdir_only
    assert channel.location == "repo.anaconda.com"
AssertionError: assert 'conda.anaconda.org' == 'repo.anaconda.com'
  - conda.anaconda.org
  + repo.anaconda.com
________________ DefaultConfigChannelTests.test_default_channel ________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 99, in test_default_channel
    assert dc.urls() == self.DEFAULT_URLS
AssertionError: assert ['https://rep.../main/noarch'] == ['https://repo.../noarch', ...]
  Right contains more items, first extra item: 'https://repo.anaconda.com/pkgs/free/linux-64'
  Full diff:
  ['https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/main/noarch',
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/free/linux-64',
  +  'https://repo.anaconda.com/pkgs/free/noarch',
  +  'https://repo.anaconda.com/pkgs/r/linux-64',
  +  'https://repo.anaconda.com/pkgs/r/noarch',
  +  'https://repo.anaconda.com/pkgs/pro/linux-64',
  +  'https://repo.anaconda.com/pkgs/pro/noarch']
____________ DefaultConfigChannelTests.test_url_channel_w_platform _____________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 119, in test_url_channel_w_platform
    assert channel.canonical_name == 'defaults'
AssertionError: assert 'https://repo...com/pkgs/free' == 'defaults'
  - https://repo.anaconda.com/pkgs/free
  + defaults
________________ CustomConfigChannelTests.test_defaults_channel ________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 564, in test_defaults_channel
    assert channel.urls() == self.DEFAULT_URLS
AssertionError: assert ['http://192..../noarch', ...] == ['http://192.1...msys2/noarch']
  Left contains more items, first extra item: 'https://repo.anaconda.com/pkgs/main/linux-64'
  Full diff:
  ['http://192.168.0.15:8080/pkgs/anaconda/linux-64',
  'http://192.168.0.15:8080/pkgs/anaconda/noarch',
  'http://192.168.0.15:8080/pkgs/pro/linux-64',
  'http://192.168.0.15:8080/pkgs/pro/noarch',
  'http://192.168.0.15:8080/pkgs/msys2/linux-64',
  -  'http://192.168.0.15:8080/pkgs/msys2/noarch',
  ?                                              ^
  +  'http://192.168.0.15:8080/pkgs/msys2/noarch']
  ?                                              ^
  -  'https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
_____________ ChannelAuthTokenPriorityTests.test_default_channels ______________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 774, in test_default_channels
    assert channel.urls() == [
AssertionError: assert ['http://192..../noarch', ...] == ['http://192.1...kgs/r/noarch']
  Left contains more items, first extra item: 'https://repo.anaconda.com/pkgs/main/linux-64'
  Full diff:
  ['http://192.168.0.15:8080/pkgs/anaconda/linux-64',
  'http://192.168.0.15:8080/pkgs/anaconda/noarch',
  'ftp://new.url:8082/donald/label/main/linux-64',
  'ftp://new.url:8082/donald/label/main/noarch',
  'http://192.168.0.15:8080/pkgs/r/linux-64',
  -  'http://192.168.0.15:8080/pkgs/r/noarch',
  ?                                          ^
  +  'http://192.168.0.15:8080/pkgs/r/noarch']
  ?                                          ^
  -  'https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
_____________________ UrlChannelTests.test_subdirs_env_var _____________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 872, in test_subdirs_env_var
    assert c.urls() == list(_channel_urls())
AssertionError: assert ['https://rep.../main/noarch'] == ['https://repo.../noarch', ...]
  Right contains more items, first extra item: 'https://repo.anaconda.com/pkgs/free/linux-highest'
  Full diff:
  ['https://repo.anaconda.com/pkgs/main/linux-highest',
  'https://repo.anaconda.com/pkgs/main/linux-64',
  -  'https://repo.anaconda.com/pkgs/main/noarch']
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/main/noarch',
  ?                                              ^
  +  'https://repo.anaconda.com/pkgs/free/linux-highest',
  +  'https://repo.anaconda.com/pkgs/free/linux-64',
  +  'https://repo.anaconda.com/pkgs/free/noarch',
  +  'https://repo.anaconda.com/pkgs/r/linux-highest',
  +  'https://repo.anaconda.com/pkgs/r/linux-64',
  +  'https://repo.anaconda.com/pkgs/r/noarch',
  +  'https://repo.anaconda.com/pkgs/pro/linux-highest',
  +  'https://repo.anaconda.com/pkgs/pro/linux-64',
  +  'https://repo.anaconda.com/pkgs/pro/noarch']
__________________________ test_multichannel_priority __________________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_channel.py", line 1014, in test_multichannel_priority
    assert channel_priority_map == OrderedDict([
AssertionError: assert OrderedDict([...-forge', 2))]) == OrderedDict([(...-forge', 5))])
  Common items:
  {'https://conda.anaconda.org/conda-test/linux-32': ('conda-test', 0),
   'https://conda.anaconda.org/conda-test/new-optimized-subdir': ('conda-test',
                                                                  0),
   'https://conda.anaconda.org/conda-test/noarch': ('conda-test', 0),
   'https://repo.anaconda.com/pkgs/main/linux-32': ('defaults', 1),
   'https://repo.anaconda.com/pkgs/main/new-optimized-subdir': ('defaults', 1),
   'https://repo.anaconda.com/pkgs/main/noarch': ('defaults', 1)}
  Differing items:
  {'https://conda.anaconda.org/conda-forge/noarch': ('conda-forge', 2)} != {'https://conda.anaconda.org/conda-forge/noarch': ('conda-forge', 5)}
  {'https://conda.anaconda.org/conda-forge/new-optimized-subdir': ('conda-forge', 2)} != {'https://conda.anaconda.org/conda-forge/new-optimized-subdir': ('conda-forge', 5)}
  {'https://conda.anaconda.org/conda-forge/linux-32': ('conda-forge', 2)} != {'https://conda.anaconda.org/conda-forge/linux-32': ('conda-forge', 5)}
  Right contains more items:
  {'https://repo.anaconda.com/pkgs/free/linux-32': ('defaults', 2),
   'https://repo.anaconda.com/pkgs/free/new-optimized-subdir': ('defaults', 2),
   'https://repo.anaconda.com/pkgs/free/noarch': ('defaults', 2),
   'https://repo.anaconda.com/pkgs/pro/linux-32': ('defaults', 4),
   'https://repo.anaconda.com/pkgs/pro/new-optimized-subdir': ('defaults', 4),
   'https://repo.anaconda.com/pkgs/pro/noarch': ('defaults', 4),
   'https://repo.anaconda.com/pkgs/r/linux-32': ('defaults', 3),
   'https://repo.anaconda.com/pkgs/r/new-optimized-subdir': ('defaults', 3),
   'https://repo.anaconda.com/pkgs/r/noarch': ('defaults', 3)}
  Full diff:
  OrderedDict([('https://conda.anaconda.org/conda-test/new-optimized-subdir',
  ('conda-test', 0)),
  ('https://conda.anaconda.org/conda-test/linux-32',
  ('conda-test', 0)),
  ('https://conda.anaconda.org/conda-test/noarch',
  ('conda-test', 0)),
  ('https://repo.anaconda.com/pkgs/main/new-optimized-subdir',
  ('defaults', 1)),
  ('https://repo.anaconda.com/pkgs/main/linux-32', ('defaults', 1)),
  ('https://repo.anaconda.com/pkgs/main/noarch', ('defaults', 1)),
  +              ('https://repo.anaconda.com/pkgs/free/new-optimized-subdir',
  +               ('defaults', 2)),
  +              ('https://repo.anaconda.com/pkgs/free/linux-32', ('defaults', 2)),
  +              ('https://repo.anaconda.com/pkgs/free/noarch', ('defaults', 2)),
  +              ('https://repo.anaconda.com/pkgs/r/new-optimized-subdir',
  +               ('defaults', 3)),
  +              ('https://repo.anaconda.com/pkgs/r/linux-32', ('defaults', 3)),
  +              ('https://repo.anaconda.com/pkgs/r/noarch', ('defaults', 3)),
  +              ('https://repo.anaconda.com/pkgs/pro/new-optimized-subdir',
  +               ('defaults', 4)),
  +              ('https://repo.anaconda.com/pkgs/pro/linux-32', ('defaults', 4)),
  +              ('https://repo.anaconda.com/pkgs/pro/noarch', ('defaults', 4)),
  ('https://conda.anaconda.org/conda-forge/new-optimized-subdir',
  -               ('conda-forge', 2)),
  ?                               ^
  +               ('conda-forge', 5)),
  ?                               ^
  ('https://conda.anaconda.org/conda-forge/linux-32',
  -               ('conda-forge', 2)),
  ?                               ^
  +               ('conda-forge', 5)),
  ?                               ^
  ('https://conda.anaconda.org/conda-forge/noarch',
  -               ('conda-forge', 2))])
  ?                               ^
  +               ('conda-forge', 5))])
  ?                               ^
___________________ UrlDistTests.test_dist_with_channel_url ____________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_dist.py", line 61, in test_dist_with_channel_url
    assert d.channel == 'defaults'
AssertionError: assert 'https://repo...com/pkgs/free' == 'defaults'
  - https://repo.anaconda.com/pkgs/free
  + defaults
_______________ PrefixRecordTests.test_prefix_record_no_channel ________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_index_record.py", line 29, in test_prefix_record_no_channel
    assert pr.channel.canonical_name == 'defaults'
AssertionError: assert 'https://repo...com/pkgs/free' == 'defaults'
  - https://repo.anaconda.com/pkgs/free
  + defaults
_____________________ MatchSpecTests.test_channel_matching _____________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_match_spec.py", line 280, in test_channel_matching
    assert ChannelMatch('defaults').match('pkgs/free') is True
AssertionError: assert False is True
 +  where False = <bound method ChannelMatch.match of 'defaults'>('pkgs/free')
 +    where <bound method ChannelMatch.match of 'defaults'> = 'defaults'.match
 +      where 'defaults' = ChannelMatch('defaults')
___________________________ MatchSpecTests.test_dist ___________________________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_match_spec.py", line 336, in test_dist
    assert p.match(PackageRecord(name='python', version='3.5.1', build='0', build_number=0,
AssertionError: assert False
 +  where False = <bound method MatchSpec.match of MatchSpec(channel='defaults', name=LowerStrMatch('python'), version=VersionSpec('3.5.*'))>(PackageRecord(name='python', version='3.5.1', build='0', build_number=0, channel=Channel(scheme='https', auth=None, lo...openssl 1.0.2*', 'readline 6.2*', 'sqlite', 'tk 8.5*', 'xz 5.0.5', 'zlib 1.2*', 'pip'), subdir='osx-64', size=14678857))
 +    where <bound method MatchSpec.match of MatchSpec(channel='defaults', name=LowerStrMatch('python'), version=VersionSpec('3.5.*'))> = MatchSpec(channel='defaults', name=LowerStrMatch('python'), version=VersionSpec('3.5.*')).match
 +    and   PackageRecord(name='python', version='3.5.1', build='0', build_number=0, channel=Channel(scheme='https', auth=None, lo...openssl 1.0.2*', 'readline 6.2*', 'sqlite', 'tk 8.5*', 'xz 5.0.5', 'zlib 1.2*', 'pip'), subdir='osx-64', size=14678857) = PackageRecord(name='python', version='3.5.1', build='0', build_number=0, depends=('openssl 1.0.2*', 'readline 6.2*', 'sqlite', 'tk 8.5*', 'xz 5.0.5', 'zlib 1.2*', ...), channel=Channel(scheme='https', auth=None, location='repo.anaconda.com', token=None, name='pkgs/free', platform='osx-64', package_filename=None), subdir='osx-64', fn='python-3.5.1-0.tar.bz2', md5='a813bc0a32691ab3331ac9f37125164c', size=14678857, priority=0, url='https://repo.anaconda.com/pkgs/free/osx-64/python-3.5.1-0.tar.bz2')
 +      where Channel(scheme='https', auth=None, location='repo.anaconda.com', token=None, name='pkgs/free', platform='osx-64', package_filename=None) = Channel(scheme='https', auth=None, location='repo.anaconda.com', token=None, name='pkgs/free', platform='osx-64', package_filename=None)
_____________ SpecStrParsingTests.test_parse_spec_str_tarball_url ______________
Traceback (most recent call last):
  File "/opt/conda/conda-bld/conda_1530271501905/test_tmp/tests/models/test_match_spec.py", line 487, in test_parse_spec_str_tarball_url
    assert _parse_spec_str(url) == {
AssertionError: assert {'build': 'py...license', ...} == {'build': 'py2...license', ...}
  Common items:
  {'build': 'py27_1',
   'fn': '_license-1.1-py27_1.tar.bz2',
   'name': '_license',
   'subdir': 'linux-64',
   'url': 'https://repo.anaconda.com/pkgs/free/linux-64/_license-1.1-py27_1.tar.bz2',
   'version': '1.1'}
  Differing items:
  {'channel': 'https://repo.anaconda.com/pkgs/free'} != {'channel': 'defaults'}
  Full diff:
  {'build': 'py27_1',
  -  'channel': 'https://repo.anaconda.com/pkgs/free',
  +  'channel': 'defaults',
  'fn': '_license-1.1-py27_1.tar.bz2',
  'name': '_license',
  'subdir': 'linux-64',
  'url': 'https://repo.anaconda.com/pkgs/free/linux-64/_license-1.1-py27_1.tar.bz2',
  'version': '1.1'}
========================== slowest 16 test durations ===========================
3.41s call     tests/core/test_solve.py::test_priority_1
2.26s call     tests/core/test_solve.py::test_remove_with_constrained_dependencies
1.89s call     tests/models/test_prefix_graph.py::test_prefix_graph_1
1.67s call     tests/models/test_prefix_graph.py::test_windows_sort_orders_1
1.47s call     tests/core/test_solve.py::test_features_solve_1
1.46s call     tests/core/test_solve.py::test_update_deps_1
1.17s call     tests/core/test_solve.py::test_install_uninstall_features_2
1.12s call     tests/core/test_solve.py::test_pinned_1
1.11s call     tests/core/test_solve.py::test_prune_1
1.11s call     tests/core/test_solve.py::test_broken_install
1.06s call     tests/test_logic.py::test_AMONE
0.87s call     tests/models/test_prefix_graph.py::test_deep_cyclical_dependency
0.68s call     tests/test_resolve.py::test_generate_eq_1
0.65s call     tests/core/test_solve.py::test_no_deps_1
0.63s call     tests/core/test_solve.py::test_only_deps_2
0.61s call     tests/core/test_solve.py::test_install_uninstall_features_1
= 14 failed, 422 passed, 3 skipped, 144 deselected, 1 xfailed in 35.94 seconds =
Tests failed for conda-4.5.2-py37_0.tar.bz2 - moving package to /opt/conda/conda-bld/broken
WARNING:conda_build.build:Tests failed for conda-4.5.2-py37_0.tar.bz2 - moving package to /opt/conda/conda-bld/broken
removing: conda-4.5.2-py37_0.tar.bz2
TESTS FAILED: conda-4.5.2-py37_0.tar.bz2
```


Discussion:
Tangentially, is that [recipe](https://github.com/AnacondaRecipes/conda-feedstock/blob/master/recipe/meta.yaml#L2) actively maintained? Who is responsible for that and what is the workflow? Should we periodically copy this repo's own recipe over?
Tangentially, is that [recipe](https://github.com/AnacondaRecipes/conda-feedstock/blob/master/recipe/meta.yaml#L2) actively maintained? Who is responsible for that and what is the workflow? Should we periodically copy this repo's own recipe over?

Resolving patch:
diff --git a/conda/_vendor/toolz/functoolz.py b/conda/_vendor/toolz/functoolz.py
--- a/conda/_vendor/toolz/functoolz.py
+++ b/conda/_vendor/toolz/functoolz.py
@@ -498,7 +498,7 @@ def composed_doc(*fs):
     def __name__(self):
         try:
             return '_of_'.join(
-                f.__name__ for f in reversed((self.first,) + self.funcs),
+                (f.__name__ for f in reversed((self.first,) + self.funcs)),
             )
         except AttributeError:
             return type(self).__name__


Test patch:
diff --git a/tests/test_activate.py b/tests/test_activate.py
--- a/tests/test_activate.py
+++ b/tests/test_activate.py
@@ -1030,8 +1030,8 @@ def __exit__(self, exc_type, exc_val, exc_tb):
     def sendline(self, s):
         return self.p.sendline(s)
 
-    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
-        return self.p.expect(pattern, timeout, searchwindowsize, async)
+    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async_=False):
+        return self.p.expect(pattern, timeout, searchwindowsize, async_)
 
     def assert_env_var(self, env_var, value, use_exact=False):
         # value is actually a regex