<metapackage xmlns:os="http://opensuse.org/Standards/One_Click_Install" xmlns="http://opensuse.org/Standards/One_Click_Install">
  <group distversion="openSUSE Tumbleweed">
    <repositories>
      <repository recommended="true">
        <name>server:monitoring</name>
        <summary>Server Monitoring Software</summary>
        <description>System an network monitoring software.</description>
        <url>https://download.opensuse.org/repositories/server:/monitoring/openSUSE_Tumbleweed/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Factory</name>
        <summary>The next openSUSE distribution</summary>
        <description>openSUSE Tumbleweed: The Bleeding Edge, Perfected.
Tumbleweed is the ultimate rolling release distribution, providing the latest software as it’s released, built upon a foundation of world-class stability and testing.

* Always Current: Get the newest kernel, IDEs, desktops, and applications automatically.

* Powerfully Stable: Experience the velocity of a rolling release without sacrificing the reliability you depend on.

* Engineered for Professionals: The top choice for Developers, Power Users, and openSUSE Contributors who need the best tools for the job.

If you demand the latest stable software, your choice is Tumbleweed.

Staging dashboard is located at: https://build.opensuse.org/staging_workflows/openSUSE:Factory 

List of known devel projects: https://build.opensuse.org/package/view_file/openSUSE:Factory:Staging/dashboard/devel_projects

Have a look at http://en.opensuse.org/Portal:Factory for more details.</description>
        <url>https://download.opensuse.org/tumbleweed/repo/oss/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Tumbleweed</name>
        <summary>Tumbleweed</summary>
        <description>Tumbleweed is the openSUSE Rolling Release

This OBS Project represents the content of the currently published
snapshot. The newer repository for next publish can be found in openSUSE:Factory standard repository.
</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Tumbleweed/standard/</url>
      </repository>
      <repository recommended="true">
        <name>openSUSE:Tumbleweed</name>
        <summary>Tumbleweed</summary>
        <description>Tumbleweed is the openSUSE Rolling Release

This OBS Project represents the content of the currently published
snapshot. The newer repository for next publish can be found in openSUSE:Factory standard repository.
</description>
        <url>https://download.opensuse.org/tumbleweed/repo/oss/</url>
      </repository>
      <repository recommended="false">
        <name>openSUSE:Factory</name>
        <summary>The next openSUSE distribution</summary>
        <description>openSUSE Tumbleweed: The Bleeding Edge, Perfected.
Tumbleweed is the ultimate rolling release distribution, providing the latest software as it’s released, built upon a foundation of world-class stability and testing.

* Always Current: Get the newest kernel, IDEs, desktops, and applications automatically.

* Powerfully Stable: Experience the velocity of a rolling release without sacrificing the reliability you depend on.

* Engineered for Professionals: The top choice for Developers, Power Users, and openSUSE Contributors who need the best tools for the job.

If you demand the latest stable software, your choice is Tumbleweed.

Staging dashboard is located at: https://build.opensuse.org/staging_workflows/openSUSE:Factory 

List of known devel projects: https://build.opensuse.org/package/view_file/openSUSE:Factory:Staging/dashboard/devel_projects

Have a look at http://en.opensuse.org/Portal:Factory for more details.</description>
        <url>https://download.opensuse.org/repositories/openSUSE:/Factory/ports/</url>
      </repository>
    </repositories>
    <software>
      <item>
        <name>perl-Test-Exception</name>
        <summary>Test exception-based code</summary>
        <description>This module provides a few convenience methods for testing exception based
code. It is built with Test::Builder and plays happily with Test::More and
friends.

If you are not already familiar with Test::More now would be the time to go
take a look.

You can specify the test plan when you 'use Test::Exception' in the same
way as 'use Test::More'. See Test::More for details.

NOTE: Test::Exception only checks for exceptions. It will ignore other
methods of stopping program execution - including exit(). If you have an
exit() in evalled code Test::Exception will not catch this with any of its
testing functions.

NOTE: This module uses Sub::Uplevel and relies on overriding
'CORE::GLOBAL::caller' to hide your test blocks from the call stack. If
this use of global overrides concerns you, the Test::Fatal module offers a
more minimalist alternative.

* *throws_ok*

Tests to see that a specific exception is thrown. throws_ok() has two
forms:

  throws_ok BLOCK REGEX, TEST_DESCRIPTION
  throws_ok BLOCK CLASS, TEST_DESCRIPTION

In the first form the test passes if the stringified exception matches the
give regular expression. For example:

    throws_ok { read_file( 'unreadable' ) } qr/No file/, 'no file';

If your perl does not support 'qr//' you can also pass a regex-like string,
for example:

    throws_ok { read_file( 'unreadable' ) } '/No file/', 'no file';

The second form of throws_ok() test passes if the exception is of the same
class as the one supplied, or a subclass of that class. For example:

    throws_ok { $foo-&gt;bar } &quot;Error::Simple&quot;, 'simple error';

Will only pass if the 'bar' method throws an Error::Simple exception, or a
subclass of an Error::Simple exception.

You can get the same effect by passing an instance of the exception you
want to look for. The following is equivalent to the previous example:

    my $SIMPLE = Error::Simple-&gt;new;
    throws_ok { $foo-&gt;bar } $SIMPLE, 'simple error';

Should a throws_ok() test fail it produces appropriate diagnostic messages.
For example:

    not ok 3 - simple error
    
    
    

Like all other Test::Exception functions you can avoid prototypes by
passing a subroutine explicitly:

    throws_ok( sub {$foo-&gt;bar}, &quot;Error::Simple&quot;, 'simple error' );

A true value is returned if the test succeeds, false otherwise. On exit $@
is guaranteed to be the cause of death (if any).

A description of the exception being checked is used if no optional test
description is passed.

NOTE: Remember when you 'die $string_without_a_trailing_newline' perl will
automatically add the current script line number, input line number and a
newline. This will form part of the string that throws_ok regular
expressions match against.

* *dies_ok*

Checks that a piece of code dies, rather than returning normally. For
example:

    sub div {
        my ( $a, $b ) = @_;
        return $a / $b;
    };

    dies_ok { div( 1, 0 ) } 'divide by zero detected';

    
    dies_ok( sub { div( 1, 0 ) }, 'divide by zero detected' );

A true value is returned if the test succeeds, false otherwise. On exit $@
is guaranteed to be the cause of death (if any).

Remember: This test will pass if the code dies for any reason. If you care
about the reason it might be more sensible to write a more specific test
using throws_ok().

The test description is optional, but recommended.

* *lives_ok*

Checks that a piece of code doesn't die. This allows your test script to
continue, rather than aborting if you get an unexpected exception. For
example:

    sub read_file {
        my $file = shift;
        local $/;
        open my $fh, '&lt;', $file or die &quot;open failed ($!)\n&quot;;
        $file = &lt;FILE&gt;;
        return $file;
    };

    my $file;
    lives_ok { $file = read_file('test.txt') } 'file read';

    
    lives_ok( sub { $file = read_file('test.txt') }, 'file read' );

Should a lives_ok() test fail it produces appropriate diagnostic messages.
For example:

    not ok 1 - file read
    
    

A true value is returned if the test succeeds, false otherwise. On exit $@
is guaranteed to be the cause of death (if any).

The test description is optional, but recommended.

* *lives_and*

Run a test that may throw an exception. For example, instead of doing:

  my $file;
  lives_ok { $file = read_file('answer.txt') } 'read_file worked';
  is $file, &quot;42&quot;, 'answer was 42';

You can use lives_and() like this:

  lives_and { is read_file('answer.txt'), &quot;42&quot; } 'answer is 42';
  
  lives_and(sub {is read_file('answer.txt'), &quot;42&quot;}, 'answer is 42');

Which is the same as doing

  is read_file('answer.txt'), &quot;42\n&quot;, 'answer is 42';

unless 'read_file('answer.txt')' dies, in which case you get the same kind
of error as lives_ok()

  not ok 1 - answer is 42
  
  

A true value is returned if the test succeeds, false otherwise. On exit $@
is guaranteed to be the cause of death (if any).

The test description is optional, but recommended.</description>
      </item>
    </software>
  </group>
</metapackage>
