[devtools] Use super() in TestServerConfiguration.__init__()
While cleaning up the use of init_config() in WSGIAppTC, I wondered why
the method was trying to set the 'https_uiprops' and 'https_datadir_url'
attributes on the config, when WebConfiguration's __init__ should be
taking care of setting them.
WSGIAppTC uses the default configuration - one that derives from
ApptestConfiguration (noted as G below).
The issue is that the class hierarchy of ApptestConfiguration includes
TestServerConfiguration (C in the graph below) which calls
ServerConfiguration's __init__ directly (B below). As B does not have an
__init__ method, CubicWebConfiguration's __init__ is called directly (A
below). This has the unintended consequence of preventing
WebConfiguration's __init__ from being called.
A
/ \
B D
| |
C E
\ /
F
|
G
|
...
A: cwconfig.CubicWebConfiguration
B: server.serverconfig.ServerConfiguration
C: devtools.TestServerConfiguration
D: web.webconfig.WebConfiguration
E: etwist.twconfig.WebConfigurationBase
F: devtools.BaseApptestConfiguration
G: devtools.ApptestConfiguration
NB: unittest_wsgi wasn't really broken, as it's the only test in
wsgi/test/, but I figured I might as well clean it up.
Related to #9297611.
# -*- shell-script -*-_ec_commands(){ local commands commands="$("$ec" listcommands 2>/dev/null)" || commands="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$commands' -- "$cur"))}_ec(){ local cur prev cmd cmd_index opts i local ec="$1" COMPREPLY=() cur="$2" prev="$3" # searching for the command # (first non-option argument that doesn't follow a global option that # receives an argument) for ((i=1; $i<=$COMP_CWORD; i++)); do if [[ ${COMP_WORDS[i]} != -* ]]; then cmd="${COMP_WORDS[i]}" cmd_index=$i break fi done if [[ "$cur" == -* ]]; then if [ -z "$cmd" ]; then COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '--help' -- "$cur")) else options="$("$ec" listcommands "$cmd" 2>/dev/null)" || commands="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options' -- "$cur")) fi return fi if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then _ec_commands return fi # try to generate completion candidates for whatever command the user typed if _ec_command_specific; then return fi}_ec_command_specific(){ if [ "$(type -t "_ec_cmd_$cmd")" = function ]; then "_ec_cmd_$cmd" return 0 fi case "$cmd" in client) if [ "$prev" == "-b" ] || [ "$prev" == "--batch" ]; then COMPREPLY=( $( compgen -o filenames -G "$cur*" ) ) return fi options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" instances="$("$ec" listinstances 2>/dev/null)" || instances="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; db-dump) if [ "$prev" == "-o" ] || [ "$prev" == "--output" ]; then COMPREPLY=( $( compgen -o filenames -G "$cur*" ) ) return fi options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" instances="$("$ec" listinstances 2>/dev/null)" || instances="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; # commands with template as argument i18ncube) cubes="$("$ec" listcubes 2>/dev/null)" || cubes="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $cubes' -- "$cur")) ;; # generic commands with instance as argument start|stop|reload|restart|upgrade|start-repository|db-create|db-init|db-check|db-grant-user) options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" instances="$("$ec" listinstances 2>/dev/null)" || instances="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; # generic commands without argument list|newtemplate|i18ncubicweb|live-server) options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; # generic commands without option shell|i18ninstance|delete|status|schema-sync) instances="$("$ec" listinstances 2>/dev/null)" || instances="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; # XXX should do better create) options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; db-copy,db-restore,mboximport) instances="$("$ec" listinstances 2>/dev/null)" || instances="" COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) ;; *) return 1 ;; esac return 0}complete -o bashdefault -o default -F _ec cubicweb-ctl 2>/dev/null \ || complete -o default -F _ec cubicweb-ctl