Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e38b0b21

Von Moritz Bunkus vor fast 8 Jahren hinzugefügt

  • ID e38b0b21c1e924cb0b1a21f6e2fe5db7d3258f70
  • Vorgänger e61cd137
  • Nachfolger abc355d2

Tests: Datenbank-Meldungen immer in English zurückgeben

Die Sprache, in der z.B. Fehlermeldungen von der Datenbank geliefert
werden, wird beim Erstellen des PostgreSQL-Clusters festgelegt. Dies ist
bei vielen Standardinstallationen Deutsch, da meinst nur
»--locale=de_DE.UTF-8« gesagt wird, und damit auch LC_MESSAGES gesetzt
wird.

Für Tests ist das ungünstig, weil sich diese darauf verlassen können
müssen, dass die Fehlermeldungen immer in einer bestimmten Sprache
sind. Unsere Tests vergleichen Fehlermeldungen mit den erwarteten
Mustern, und diese sind in Englisch.

Daher die Nachrichten-Locale Datenbankverbindungen von sowohl Auth- als
auch Hauptdatenbank am Anfang der Tests auf Englisch setzen.

Unterschiede anzeigen:

t/Support/TestSetup.pm
48 48

  
49 49
  $SIG{__DIE__} = sub { Carp::confess( @_ ) } if $::lx_office_conf{debug}->{backtrace_on_die};
50 50

  
51
  # Always use English locale for messages from the database during
52
  # tests.
53
  my $query = qq|SET lc_messages = 'en_US.UTF-8'|;
54
  SL::DB->auth->dbh->do($query)   || die 'Cannot set database locale to en_US.UTF-8 for auth database';
55
  SL::DB->client->dbh->do($query) || die 'Cannot set database locale to en_US.UTF-8 for main database';
56

  
51 57
  return 1;
52 58
}
53 59

  

Auch abrufbar als: Unified diff