- Mar 31, 2022
-
-
Douglas Raillard authored
Since this channel is not monitored anymore, remove it from the documentation.
-
Douglas Raillard authored
Ensure that the git changelog notes are fetched so that the changelog can be as accurate as possible.
-
Douglas Raillard authored
FEATURE When creating the changelog, append the refs/notes/changelog git note to each commit message. This allows after-the-fact fixup of markers such as FEATURE without having to rewrite history.
-
Douglas Raillard authored
FEATURE Let get_commit_message() display git notes.
-
WA has a sysfs-extractor which copies the content of a folder before, after and generates a diff of it. The collector 'sysfs-extractor' leverages those artifacts.
-
Douglas Raillard authored
Ignore warning reported at: https://github.com/erdewit/nest_asyncio/issues/70
-
Douglas Raillard authored
Simplify the docstring example to remove mentions of lisa.wlgen.rta. This part is now covered by lisa.wlgen.rta itself so there is no need to duplicate it.
-
Douglas Raillard authored
FEATURE Add an async API to build wlgen rta tasks. The new API is based on the previous one and its sole purpose is to provide a more intuitive front end by somewhat using Python as a DSL. The new API is not more or less powerful than the old one, and both can be used together.
-
Douglas Raillard authored
BREAKING CHANGE Introduce GenMonad inheriting from lisa.monad.State and make Gen simply embed a GenMonad action. Breaking change: retry_until() now needs to be awaited, otherwise it's a no-op. This will ensure future-proofing of the API, should the implementation of retry_until need access to the internal state.
-
Douglas Raillard authored
BREAKING CHANGE FEATURE Replace the original custom-made State monad implementation with a full featured monad transformer implementation. This will allow combining multiple independent state monads, as well as interop with event loops (e.g. asyncio), and allow new effects to be added along the way such as the short-circuiting Option. Breaking changes: * Remove the automatic awaiting of monadic arguments to user-defined coroutine functions. The reason is that it was a misfeature that worked for the lisa.fuzz.Gen monad, but is actually quite problematic for other state monads as the user looses control over the ordering of side effects. This can unfortunately be extremely important for some monads. * Re-purpose the "lift" method to act like a monad transformer lift. Existing use of "Monad.lift()" need to be converted to "Monad.do()" instead. * Rename StateMonad into State * StateMonad values can now only be called once.
-
Douglas Raillard authored
FIX Remove the statement that monadic arguments are automatically awaited, as this is not the case anymore.
-
Douglas Raillard authored
Rather than catching RetryException in state-modifying functions, wrap directly the user-provided coroutine-functions. This is done in preparation for the lisa.monad.StateMonad change where user coroutine-functions will not be wrapped with Gen.from_f() anymore.
-
Douglas Raillard authored
Give the name of the function passed if name is None.
-
Douglas Raillard authored
FIX Fix examples: with_props(prop_X=...) should be with_props(X=...)
-
Douglas Raillard authored
Add right-associative version of functools.reduce(), so that: [a, b, c, d] is turned into f(a, f(b, f(c, f(d, init)))) instead of f(f(f(f(init, a), b), c), d)
-
Douglas Raillard authored
FEATURE
-
Douglas Raillard authored
python3.X-full package should contain everything needed, but the name and availability depends on the version of Ubuntu/Debian so is only suitable for manual setup, not install_base.sh.
-
Douglas Raillard authored
Group together packages that are part of Python standard library, followed by third parties ones.
-
- Mar 30, 2022
-
-
Douglas Raillard authored
FEATURE Document in the setup.rst installation doc page the LISA_PYTHON env var and how to get a non-native version of Python working on Ubuntu.
-
Douglas Raillard authored
Allow external tool to import setup.py without running it to query the version of Python LISA requires. This is mostly intended for documentation generation purposes.
-
Douglas Raillard authored
-
- Mar 07, 2022
-
-
Douglas Raillard authored
FIX Use a URL that seems to be used by more people and is still working.
-
Douglas Raillard authored
This reverts commit 627f7656.
-
- Mar 04, 2022
-
-
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
-
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.
-
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.
-
- Feb 24, 2022
-
-
Douglas Raillard authored
FIX Fix the issue reported at [1] by removing the vmlinux from the kernel tree before building modules, so that Kbuild will not be tempted to create a broken split .BTF section. [1] https://lore.kernel.org/all/YfK18x%2FXrYL4Vw8o@syu-laptop/t/#md877c45455918f8c661dc324719b91a9906dc7a3
-
Douglas Raillard authored
FIX Fix conflicting description of defaults for KernelTree(build_env=...)
-
Douglas Raillard authored
FEATURE When building the kmod for the sole purpose of attempting to provide optional events, turn the kmod build failure into an logging.error() rather than raise the exception.
-
Douglas Raillard authored
FEATURE Optional events are currently ignored if the kernel does not provide them. Instead, attempt to build the module if the kernel does not provide a missing event. This is especially important as the user's events from the user-provided FtraceConf are treated as optional.
-
Douglas Raillard authored
Use Alpine v3.15
-
Douglas Raillard authored
FIX Execute commands in a controlled environment where only a handful of env var are let through. This allows the result of these commands to not depend on the environment, which avoids having to make env vars part of the cache keys.
-
Douglas Raillard authored
FIX Previously, PATH was not set/reset to any specific value when running a command in the Alpine chroot. This lead to PATH being inherited from the user, even though it did not specifically make sense inside the chroot. Fix that by running "source /etc/profile" to provide a sane default for basic env var.
-
- Feb 16, 2022
-
-
Douglas Raillard authored
Add an explanatory comment on the caveat of restricting the __init__ parameter list in a derived class compared to its base.
-
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.
-
Douglas Raillard authored
FIX Fix the missing mandatory parameter detection to only consider parameters with a non empty default.
-
- Jan 27, 2022
-
-
Douglas Raillard authored
FEATURE Enable testing on Python 3.10 on GitHub actions.
-
Douglas Raillard authored
FIX In Python >= 3.10, argparse's --help output uses an argument group named "options" instead of "optional arguments". Use sed to convert it back to the old form so that the built documentation is invariant wrt Python version, which is necessary for CI checks to pass.
-
Douglas Raillard authored
FIX Avoid a warning because of broken references that do not matter.
-
Douglas Raillard authored
Update from 2021 to 2022
-