• Sandipan Das's avatar
    perf tests: Fix indexing when invoking subtests · aa90f9f9
    Sandipan Das authored
    Recently, the subtest numbering was changed to start from 1.  While it
    is fine for displaying results, this should not be the case when the
    subtests are actually invoked.
    
    Typically, the subtests are stored in zero-indexed arrays and invoked
    based on the index passed to the main test function.  Since the index
    now starts from 1, the second subtest in the array (index 1) gets
    invoked instead of the first (index 0).  This applies to all of the
    following subtests but for the last one, the subtest always fails
    because it does not meet the boundary condition of the subtest index
    being lesser than the number of subtests.
    
    This can be observed on powerpc64 and x86_64 systems running Fedora 28
    as shown below.
    
    Before:
    
      # perf test "builtin clang support"
      55: builtin clang support                                 :
      55.1: builtin clang compile C source to IR                : Ok
      55.2: builtin clang compile C source to ELF object        : FAILED!
    
      # perf test "LLVM search and compile"
      38: LLVM search and compile                               :
      38.1: Basic BPF llvm compile                              : Ok
      38.2: kbuild searching                                    : Ok
      38.3: Compile source for BPF prologue generation          : Ok
      38.4: Compile source for BPF relocation                   : FAILED!
    
      # perf test "BPF filter"
      40: BPF filter                                            :
      40.1: Basic BPF filtering                                 : Ok
      40.2: BPF pinning                                         : Ok
      40.3: BPF prologue generation                             : Ok
      40.4: BPF relocation checker                              : FAILED!
    
    After:
    
      # perf test "builtin clang support"
      55: builtin clang support                                 :
      55.1: builtin clang compile C source to IR                : Ok
      55.2: builtin clang compile C source to ELF object        : Ok
    
      # perf test "LLVM search and compile"
      38: LLVM search and compile                               :
      38.1: Basic BPF llvm compile                              : Ok
      38.2: kbuild searching                                    : Ok
      38.3: Compile source for BPF prologue generation          : Ok
      38.4: Compile source for BPF relocation                   : Ok
    
      # perf test "BPF filter"
      40: BPF filter                                            :
      40.1: Basic BPF filtering                                 : Ok
      40.2: BPF pinning                                         : Ok
      40.3: BPF prologue generation                             : Ok
      40.4: BPF relocation checker                              : Ok
    Signed-off-by: default avatarSandipan Das <sandipan@linux.ibm.com>
    Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Hendrik Brueckner <brueckner@linux.ibm.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
    Cc: Thomas Richter <tmricht@linux.ibm.com>
    Fixes: 9ef01124 ("perf test: Fix subtest number when showing results")
    Link: http://lkml.kernel.org/r/20180726171733.33208-1-sandipan@linux.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    aa90f9f9
builtin-test.c 14.1 KB