github.com/tiagovtristao/plz@v13.4.0+incompatible/src/core/progress_test.go (about)

     1  package core
     2  
     3  import (
     4  	"io/ioutil"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestProgressWriter(t *testing.T) {
    11  	target := NewBuildTarget(BuildLabel{PackageName: "src/core", Name: "progress_test"})
    12  	w := newProgressWriter(target, ioutil.Discard)
    13  	w.Write([]byte(singleline))
    14  	assert.EqualValues(t, 1.0, target.Progress)
    15  	w.Write([]byte(multiline))
    16  	assert.EqualValues(t, 2.0, target.Progress)
    17  }
    18  
    19  const singleline = `[  1%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o`
    20  const multiline = `
    21  [  1%] Generating VCSRevision.h
    22  [  1%] Building CXX object lib/TableGen/CMakeFiles/LLVMTableGen.dir/Error.cpp.o
    23  [  1%] Building CXX object lib/Demangle/CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o
    24  [  1%] Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/Dwarf.cpp.o
    25  Scanning dependencies of target LLVMMCDisassembler
    26  [  1%] Built target LLVMHello_exports
    27  Scanning dependencies of target LLVMMCParser
    28  [  1%] Building CXX object lib/MC/MCDisassembler/CMakeFiles/LLVMMCDisassembler.dir/Disassembler.cpp.o
    29  [  1%] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmLexer.cpp.o
    30  [  1%] Built target llvm_vcsrevision_h
    31  Scanning dependencies of target obj.llvm-tblgen
    32  Scanning dependencies of target LLVMObjectYAML
    33  Scanning dependencies of target LLVMOption
    34  [  1%] Building CXX object utils/TableGen/CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
    35  [  1%] Building CXX object lib/ObjectYAML/CMakeFiles/LLVMObjectYAML.dir/CodeViewYAMLTypes.cpp.o
    36  [  1%] Building CXX object lib/Option/CMakeFiles/LLVMOption.dir/Arg.cpp.o
    37  Scanning dependencies of target LLVMSupport
    38  Scanning dependencies of target LLVMMC
    39  [  1%] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/AMDGPUCodeObjectMetadata.cpp.o
    40  [  2%] Building CXX object lib/MC/CMakeFiles/LLVMMC.dir/ConstantPools.cpp.o
    41  `