[Notes] [Git][BuildStream/buildstream][master] 3 commits: element.py: Raise an exception on unbuilt element checkout



Title: GitLab

Qinusty pushed to branch master at BuildStream / buildstream

Commits:

3 changed files:

Changes:

  • buildstream/_stream.py
    ... ... @@ -434,7 +434,7 @@ class Stream():
    434 434
     
    
    435 435
             except BstError as e:
    
    436 436
                 raise StreamError("Error while staging dependencies into a sandbox"
    
    437
    -                              ": '{}'".format(e), reason=e.reason) from e
    
    437
    +                              ": '{}'".format(e), detail=e.detail, reason=e.reason) from e
    
    438 438
     
    
    439 439
         # workspace_open
    
    440 440
         #
    

  • buildstream/element.py
    ... ... @@ -623,6 +623,12 @@ class Element(Plugin):
    623 623
                   dep.stage_artifact(sandbox)
    
    624 624
             """
    
    625 625
     
    
    626
    +        if not self._cached():
    
    627
    +            detail = "No artifacts have been cached yet for that element\n" + \
    
    628
    +                     "Try building the element first with `bst build`\n"
    
    629
    +            raise ElementError("No artifacts to stage",
    
    630
    +                               detail=detail, reason="uncached-checkout-attempt")
    
    631
    +
    
    626 632
             if update_mtimes is None:
    
    627 633
                 update_mtimes = []
    
    628 634
     
    

  • tests/frontend/buildcheckout.py
    ... ... @@ -96,6 +96,16 @@ def test_build_checkout_deps(datafiles, cli, deps):
    96 96
             assert not os.path.exists(filename)
    
    97 97
     
    
    98 98
     
    
    99
    +@pytest.mark.datafiles(DATA_DIR)
    
    100
    +def test_build_checkout_unbuilt(datafiles, cli):
    
    101
    +    project = os.path.join(datafiles.dirname, datafiles.basename)
    
    102
    +    checkout = os.path.join(cli.directory, 'checkout')
    
    103
    +
    
    104
    +    # Check that checking out an unbuilt element fails nicely
    
    105
    +    result = cli.run(project=project, args=['checkout', 'target.bst', checkout])
    
    106
    +    result.assert_main_error(ErrorDomain.STREAM, "uncached-checkout-attempt")
    
    107
    +
    
    108
    +
    
    99 109
     @pytest.mark.datafiles(DATA_DIR)
    
    100 110
     def test_build_checkout_tarball(datafiles, cli):
    
    101 111
         project = os.path.join(datafiles.dirname, datafiles.basename)
    



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]