Wie kann ich Rebar Common Test in einem Freigabeverzeichnis ausführen lassen?

8

Ich habe ein Rebar-Projekt mit einem Top-Level-Release-Verzeichnis, das nur die Komponentenanwendungen als Abhängigkeiten enthält und die Reltool-Konfiguration enthält.

Einige meiner Anwendungen haben gemeinsame Testsuiten in test -Unterverzeichnissen, und ich kann diese Tests mit rebar ct ausführen.

Jetzt möchte ich eine gemeinsame Testsuite für das gesamte Release erstellen. Wenn ich jedoch rebar ct skip_deps=true im obersten Verzeichnis ausführen lasse, bekomme ich nur:

%Vor%

Wie kann ich Rebar meine Tests durchführen lassen?

    
legoscia 29.06.2012, 15:54
quelle

1 Antwort

10

Rebar hat drei Sätze von Modulen (siehe rebar.app ):

  • any_dir_modules , die für jedes Verzeichnis in Ihrem Projekt gelten;
  • app_dir Module, die nur für Verzeichnisse gelten, die Dateien enthalten, die mit src/*.app.src oder ebin/*.app übereinstimmen (siehe rebar_app_utils:is_app_dir/1 ); und
  • rel_dir modules, die nur für Verzeichnisse gelten, die reltool.config oder reltool.config.script enthalten (siehe rebar_rel_utils:is_rel_dir/1 ).

Das Modul rebar_ct , das für die Ausführung von Common Test zuständig ist, befindet sich in der Kategorie app_dir . Daher ist Ihr Top-Level-Release-Verzeichnis nicht berechtigt.

Sie können dies umgehen, indem Sie angeben, dass rebar_ct ein Plugin ist, da Plugins den Mechanismus der Modulkategorie umgehen. Schreibe die folgende Zeile in dein rebar.config :

%Vor%

Und Sie werden bekommen:

%Vor%     
legoscia 29.06.2012, 15:54
quelle

Tags und Links