@@ -93,6 +93,37 @@ static void test_sc_nonfatal_parse_args__typical()
// Check supported switches and arguments
g_assert_cmpstr (sc_args_security_tag (args), ==, " snap.app" );
g_assert_cmpint (sc_args_is_version_query (args), ==, false );
+ g_assert_cmpint (sc_args_is_classic_confinement (args), ==, false );
+
+ // Check remaining arguments
+ g_assert_cmpint (argc, ==, 3 );
+ g_assert_cmpstr (argv[0 ], ==, " /usr/lib/snapd/snap-confine" );
+ g_assert_cmpstr (argv[1 ], ==, " --option" );
+ g_assert_cmpstr (argv[2 ], ==, " arg" );
+ g_assert_null (argv[3 ]);
+}
+
+static void test_sc_nonfatal_parse_args__typical_classic ()
+{
+ // Test that typical invocation of snap-confine is parsed correctly.
+ struct sc_error *err __attribute__ ((cleanup (sc_cleanup_error))) = NULL ;
+ struct sc_args *args;
+
+ int argc;
+ char **argv;
+ test_argc_argv (&argc, &argv,
+ " /usr/lib/snapd/snap-confine" , " --classic" , " snap.app" ,
+ " --option" , " arg" , NULL );
+
+ args = sc_nonfatal_parse_args (&argc, &argv, &err);
+ g_test_queue_destroy ((GDestroyNotify) sc_args_free, args);
+ g_assert_null (err);
+ g_assert_nonnull (args);
+
+ // Check supported switches and arguments
+ g_assert_cmpstr (sc_args_security_tag (args), ==, " snap.app" );
+ g_assert_cmpint (sc_args_is_version_query (args), ==, false );
+ g_assert_cmpint (sc_args_is_classic_confinement (args), ==, true );
// Check remaining arguments
g_assert_cmpint (argc, ==, 3 );
@@ -124,6 +155,7 @@ static void test_sc_nonfatal_parse_args__ubuntu_core_launcher()
// Check supported switches and arguments
g_assert_cmpstr (sc_args_security_tag (args), ==, " snap.app" );
g_assert_cmpint (sc_args_is_version_query (args), ==, false );
+ g_assert_cmpint (sc_args_is_classic_confinement (args), ==, false );
// Check remaining arguments
g_assert_cmpint (argc, ==, 3 );
@@ -153,6 +185,7 @@ static void test_sc_nonfatal_parse_args__version()
// Check supported switches and arguments
g_assert_null (sc_args_security_tag (args));
g_assert_cmpint (sc_args_is_version_query (args), ==, true );
+ g_assert_cmpint (sc_args_is_classic_confinement (args), ==, false );
// Check remaining arguments
g_assert_cmpint (argc, ==, 3 );
@@ -247,6 +280,8 @@ static void __attribute__ ((constructor)) init()
g_test_add_func (" /args/test_argc_argv" , test_test_argc_argv);
g_test_add_func (" /args/sc_nonfatal_parse_args/typical" ,
test_sc_nonfatal_parse_args__typical);
+ g_test_add_func (" /args/sc_nonfatal_parse_args/typical_classic" ,
+ test_sc_nonfatal_parse_args__typical_classic);
g_test_add_func (" /args/sc_nonfatal_parse_args/ubuntu_core_launcher" ,
test_sc_nonfatal_parse_args__ubuntu_core_launcher);
g_test_add_func (" /args/sc_nonfatal_parse_args/version" ,
0 comments on commit
6f289ca