Example #1
0
def works(listofpackversions):
    """ Evaluation function that is run for each set of package version.

    This method is called by the liquid climber algorithm.
    """
    global count
    count += 1

    config = listofpackversions
    int2pkg = liquid.env.int2pkg
    pkg2int = liquid.env.pkg2int

    bidir = liquid.env.bidir_commits
    semantic_config = {}
    for pi, ci in config.iteritems():
        pkg = int2pkg[pi]
        commit = bidir[pkg][1][ci]
        semantic_config[pkg] = commit

    for pkg, commit in semantic_config.iteritems():
        liquid.checkout(pkg, commit)
        liquid.pip_install(pkg)

    status = liquid.run()

    if status == 0:
        res = [True, -1, -1]
        res = [True, 0, -1, -1]
    else:
        res = [False, pkg2int[status[1]], pkg2int[status[0]]]
        res = [False, 0, pkg2int[status[1]], pkg2int[status[0]]]
        #knowcaller=False
        res = [False, 2, pkg2int[status[1]], pkg2int[status[0]]]

    return res
Example #2
0
def works2(listofpackversions):
    global count
    count += 1

    config = listofpackversions
    int2pkg = liquid.env.int2pkg
    pkg2int = liquid.env.pkg2int

    bidir = liquid.env.bidir_commits
    semantic_config = {}
    for pi, ci in config.iteritems():
        pkg = int2pkg[pi]
        commit = bidir[pkg][1][ci]
        semantic_config[pkg] = commit

    for pkg, commit in semantic_config.iteritems():
        liquid.checkout(pkg, commit)
        liquid.pip_install(pkg)

    status = liquid.run()

    if status == 0:
        res = [True, -1, -1]
    else:
        res = [False, pkg2int[status[1]], pkg2int[status[0]]]

    return res
def works(listofpackversions):
    """ Evaluation function that is run for each set of package version.

    This method is called by the liquid climber algorithm.
    """
    global count
    count += 1

    config = listofpackversions
    int2pkg = liquid.env.int2pkg
    pkg2int = liquid.env.pkg2int

    bidir = liquid.env.bidir_commits
    semantic_config = {}
    for pi, ci in config.iteritems():
        pkg = int2pkg[pi]
        commit = bidir[pkg][1][ci]
        semantic_config[pkg] = commit

    for pkg, commit in semantic_config.iteritems():
        liquid.checkout(pkg, commit)
        liquid.pip_install(pkg)

    status = liquid.run()

    if status == 0:
        res = [True, -1, -1]
        res = [True, 0, -1, -1]
    else:
        res = [False, pkg2int[status[1]], pkg2int[status[0]]]
        res = [False, 0, pkg2int[status[1]], pkg2int[status[0]]]
        #knowcaller=False
        res = [False, 2, pkg2int[status[1]], pkg2int[status[0]]]

    return res
def works2(listofpackversions):
    global count
    count += 1

    config = listofpackversions
    int2pkg = liquid.env.int2pkg
    pkg2int = liquid.env.pkg2int

    bidir = liquid.env.bidir_commits
    semantic_config = {}
    for pi, ci in config.iteritems():
        pkg = int2pkg[pi]
        commit = bidir[pkg][1][ci]
        semantic_config[pkg] = commit

    for pkg, commit in semantic_config.iteritems():
        liquid.checkout(pkg, commit)
        liquid.pip_install(pkg)

    status = liquid.run()

    if status == 0:
        res = [True, -1, -1]
    else:
        res = [False, pkg2int[status[1]], pkg2int[status[0]]]

    return res