fix

ist ein Befehl, der eine Überarbeitung signalisiert. Im Prinzip ist es ein #ifdef, aber beide Varianten werden geprüft, so dass in beiden Fällen gültiger Code entstehen muss.

Er hat drei Parameter: den Namen des Fixes, ein Userpseudonym (oder null) und einen Text als Erklärung

func is code as success
{
  print "Funktion nit implementiert"
    
  return false;
}

Die Funktion kann nicht getestet werden, weil sie immer fehlschlägt.

func is code as success
{
  fix TestCase Atrops "Für Bug #4711 erforderlich"
    return true;  // alles ist super

  print "Funktion nit implementiert"
    
  return false;
}

Nun könnte man

  • alle fixes abschalten
  • spezielle Fix abschalten
  • alle Fixes abschalten bis auf spezielle
  • Default: Ein Fix wird bevorzugt ausgeführt.
func is code
{
  fix TestCase Atrops "Für Bug #4711 erforderlich"
    a is 1;
  else
    a is 2;
    
  print "a ist ", a$, "\n";
}

Beide Varianten werden kompiliert. Folgendes würde also nicht kompilieren, selbst wenn der Fix Testcase eingeschaltet wäre:

func is code
{
  fix TestCase Atrops "Für Bug #4711 erforderlich"
    a is 1;
  else
    b is 2;
    
  print "a ist ", a$, "\n";
}

Hier würde gemeldet, dass ohne Testcase a nicht bekannt ist.