Skip to content
  1. Mar 31, 2022
  2. Mar 30, 2022
  3. Mar 07, 2022
  4. Mar 04, 2022
    • Douglas Raillard's avatar
      doc: Fix broken matplotlib docstring xref · 627f7656
      Douglas Raillard authored
      FIX
      
      Ignore warnings of broken matplotlib's xref when building the
      documentation, as they seem to have all started failing:
      
      https://github.com/matplotlib/matplotlib/issues/22601
      627f7656
    • Douglas Raillard's avatar
      doc/setup.rst: Fix manual kmod setup instruction · 4cf7b86d
      Douglas Raillard authored
      FIX
      
      Do not refer to lisa/_assets/ anymore, refer to tools/kmodules/. This is
      critical in ensuring lisa/_assets/ stays read-only with a pristine
      content. Failure to do so leads to old artifacts (notably vmlinux.h)
      being reused when they should not, as files mtime is lost when building
      the module from Python code.
      
      Since lisa/ folder is expected to be readonly anyway, redirect the user
      to tools/kmodules where symlinks to specific source files are
      established, rather than a blanket symlink for the whole folder.
      4cf7b86d
    • Douglas Raillard's avatar
      tools/kmodules/: Make a symlink per file · de6b61c7
      Douglas Raillard authored
      FIX
      
      Instead of a blanket symlink to lisa/_assets/kmodules/, create a
      specific symlink per file. This avoids sharing the actual folder with
      lisa/_assets/kmodules.
      
      This separate is critical to ensuring the build of kmodules from
      lisa._kmod is reliable, since files mtimes are lost when building from
      Python, and out-of-date build artifacts can therefore sometimes be
      reused.
      de6b61c7
  5. Feb 24, 2022
  6. Feb 16, 2022
    • Douglas Raillard's avatar
      lisa.trace: Add comment in SimpleTxtTraceParser · e11227fb
      Douglas Raillard authored
      Add an explanatory comment on the caveat of restricting the __init__
      parameter list in a derived class compared to its base.
      e11227fb
    • Douglas Raillard's avatar
      lisa.utils: Fix PartialInit param binding · 70fe588d
      Douglas Raillard authored
      FIX
      
      Do not include the default value of parameters when checking when
      binding the kwargs to signature. This is important in cases like that:
      
          class Base:
      	def foo(a, b=1):
      	    pass
      
      	@kwargs_forwarded_to(foo)
      	def bar(self, *args, **kwargs):
      	    return self.foo(*args, **kwargs)
      
          class Derived(Base):
      	def foo(a):
      	    pass
      
      In this scenario, calling Derived.bar() must not call Derived.foo() with
      b=1, because Derived.foo does not accept this parameter.
      
      This is particularly important as this pattern is typically used to
      provide a base class with dynamic behavior based on e.g. callbacks, and
      derived classes that specialize by setting the callback "in stone".
      
      This pattern does break Liskov substitution principle, but is
      nonetheless usually not an issue as long as foo() is somewhat private,
      and is only used by the user in a monomorphic context.
      70fe588d
    • Douglas Raillard's avatar
      lisa.utils: Fix sig_bind() · db32d3e3
      Douglas Raillard authored
      FIX
      
      Fix the missing mandatory parameter detection to only consider
      parameters with a non empty default.
      db32d3e3
  7. Jan 27, 2022
Loading