Skip to content

Instantly share code, notes, and snippets.

@scop
scop / why-not-install-tests.md
Last active October 24, 2020 10:19
Why not install tests?

Why not install tests?

For the majority of users, test code is just waste of space and bandwidth. For example, for Home Assistant, in the full dependency set du -hc **/tests **/test reports 82M here (2020-10-24). Granted, most users don't install the full dependency set, so they are affected to a lesser extent, and that's a smallish fraction of the total dep set size, but still.

But isn't it good to install test code so it's around as a usage example? Test code is often not good code to be used as a general use example. It is often entangled with mockery, accesses things that should not be accessed in normal use to begin with, or accesses things in a way that is not supposed to be done outside of tests, etc, or all of that.

Isn't it good to be able to run tests suites on installed setups e.g. when diagnosing problems? Yes, that would be nice. But a bunch of things makes this less practical as it would seem on the surface.

  • Test code can have dependencies that are not
@scop
scop / gist:2de414c6dd90db6b72b8a571814472bd
Created October 24, 2020 07:31
Why not install tests?
For the majority of users, test code is just waste of space and bandwidth. For example, for Home Assistant, in the full dependency set `du -hc **/tests **/test` reports 82M here (2020-10-24). Granted, most users don't install the full dependency set, so they are affected to a lesser extent, and that's a smallish fraction of the total dep set size, but still.
Proponents of test code inclusion may say it's good to have it around as a usage example. But test code is often not good code to be used as a general use example. It is often entangled with mockery, accesses things that should not be accessed in normal use to begin with, or accesses things in a way that is not supposed to be done outside of tests, etc, or all of that.
Test code can have dependencies that are not the package's runtime dependencies. When these dependencies are not installed along with the package and its real runtime dependencies (hopefully at least these are always excluded!), users must take measures to install them before they are ab
@scop
scop / test.txt
Last active March 27, 2017 08:33
event: hello
data: hello1
event: hello
data: hello2
event: hello
data: hello3
diff --git a/completions/man b/completions/man
index e1b587d..628e43c 100644
--- a/completions/man
+++ b/completions/man
@@ -56,17 +56,10 @@ _man()
return 0
fi
- local manpath
- if [[ $OSTYPE == *@(darwin|linux|freebsd|cygwin)* ]] || _userland GNU; then
--- rpmlint.py
+++ rpmlint.py
@@ -16,6 +16,7 @@ import Pkg
import Config
import os
import stat
+import locale
import rpm
from Filter import *
import SpecCheck
diff -ur /usr/share/rpmlint/TagsCheck.py rpmlint/TagsCheck.py
--- /usr/share/rpmlint/TagsCheck.py 2006-06-28 23:10:02.000000000 +0200
+++ rpmlint/TagsCheck.py 2006-07-03 18:22:29.000000000 +0200
@@ -401,6 +401,9 @@
use_utf8=Config.getOption('UseUTF8', Config.USEUTF8_DEFAULT)
requires_in_usr_local_regex=re.compile('^/usr/local/bin')
max_line_len=79
+valid_devel_group=Config.getOption('DevelGroups')
+if valid_devel_group:
+ valid_devel_group_regex=re.compile(Config.getOption('DevelGroups'))
Index: lsbrpmlint
===================================================================
--- lsbrpmlint (révision 0)
+++ lsbrpmlint (révision 0)
@@ -0,0 +1,14 @@
+#!/bin/sh
+#---------------------------------------------------------------
+# Project : Mandriva Linux
+# Module : rpmlint
+# File : lsbrpmlint
--- Config.py
+++ Config.py
@@ -126,6 +126,17 @@
else:
_filters_re = None
+_scoring={}
+
+def setBadness(s, score):
+ _scoring[s] = score
# vim:sw=4:et
#---------------------------------------------------------------
# Module : rpmlint
# File : CheckPkgConfig
# Author : Stephan Kulow, Dirk Mueller
# Purpose : Check for errors in Pkgconfig files
#---------------------------------------------------------------
from Filter import *
import AbstractCheck
--- FilesCheck.py
+++ FilesCheck.py
@@ -1107,7 +1107,7 @@
# ...but executed ones should
elif res or mode & 0111 != 0 or script_regex.search(f):
if res:
- if not interpreter_regex.search(res.group(1)):
+ if mode & 0111 != 0 and not interpreter_regex.search(res.group(1)):
printError(pkg, 'wrong-script-interpreter', f, '"' + res.group(1) + '"')
elif not nonexec_file and not (lib_path_regex.search(f) and f.endswith('.la')):