Opened 10 years ago

Last modified 7 months ago

#42731 new enhancement

RFE: Add a conf option to automatically run test phase during normal install process

Reported by: cooljeanius (Eric Gallager) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version:
Keywords: Cc: ci42, mkae (Marko Käning), dstrubbe (David Strubbe), ryandesign (Ryan Carsten Schmidt)
Port:

Description

While MacPorts currently has some support for running test suites for ports, this is hidden in the port test command, which users must run manually separately from the normal install process. It would be much more convenient for users who are worried about the integrity of their software if they could just set something like

force_run_testsuites yes

in their macports.conf file. It would also be useful to have a Portfile option to override this, for example:

test.force no

to revert to the current behavior of only running the test suite manually with port test, regardless of what the user has set in their conf file (in case the testsuite is broken, but the Portfile developer still wants to be able to work on fixing it).

Also, if this change were made, adding a depends_test type of dependency as per #38208 would probably become more important.

Change History (8)

comment:1 Changed 10 years ago by ci42

Cc: ciserlohn@… added

Cc Me!

comment:2 Changed 10 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:3 Changed 10 years ago by petrrr

Cc: Peter.Danecek@… added

Cc Me!

comment:4 Changed 10 years ago by dstrubbe (David Strubbe)

Cc: dstrubbe@… added

Cc Me!

comment:5 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Version: 2.2.1

What behavior are you envisioning when a forced test suite fails?

  1. The port install is prevented
  2. The failure is reported and the port installation proceeds anyway

I would favor (2).

test.force no would also be useful for ports whose test suites are enormous and take hours to complete.

comment:6 in reply to:  5 ; Changed 9 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign@…:

What behavior are you envisioning when a forced test suite fails?

  1. The port install is prevented
  2. The failure is reported and the port installation proceeds anyway

I would favor (2).

Yeah, I'd favor option 2 as well, but I'd just like to note that Homebrew does option 1, and I think that Fink also does that, as well...

test.force no would also be useful for ports whose test suites are enormous and take hours to complete.

(i.e. openldap is the first one that comes to mind there...)

comment:7 Changed 8 years ago by petrrr

Cc: Peter.Danecek@… removed

comment:8 in reply to:  6 Changed 7 months ago by cooljeanius (Eric Gallager)

Replying to cooljeanius:

Replying to ryandesign@…:

What behavior are you envisioning when a forced test suite fails?

  1. The port install is prevented
  2. The failure is reported and the port installation proceeds anyway

I would favor (2).

Yeah, I'd favor option 2 as well, but I'd just like to note that Homebrew does option 1, and I think that Fink also does that, as well...

So on further consideration, I'd just like to note that Homebrew's approach here is really annoying, and that it would be best to just completely disregard it.

test.force no would also be useful for ports whose test suites are enormous and take hours to complete.

(i.e. openldap is the first one that comes to mind there...)

(also gcc and openssl are coming to mind (as ports with enormous testsuites) more recently now, too)

Note: See TracTickets for help on using tickets.