Newer
Older
minerva / Meta / gn / secondary / Tests / unittest.gni
@minerva minerva on 13 Jul 815 bytes Initial commit
template("unittest") {
  executable(target_name) {
    has_custom_main = false
    use_js_main = false

    # Foward everything (has_custom_main if set; configs, sources, deps, ...).
    forward_variables_from(invoker, "*")
    assert(!defined(invoker.output_dir), "cannot set unittest output_dir")
    assert(!defined(invoker.testonly), "cannot set unittest testonly")

    if (!defined(invoker.deps)) {
      deps = []
    }

    deps += [ "//AK" ]
    if (has_custom_main) {
      deps += [ "//Userland/Libraries/LibTest" ]
    } else if (use_js_main) {
      deps += [ "//Userland/Libraries/LibTest:test_js_main" ]
    } else {
      deps += [ "//Userland/Libraries/LibTest:test_main" ]
    }

    if (current_os != "minerva") {
      deps += [ "//Userland/Libraries/LibCore" ]
    }

    testonly = true
  }
}