Description: set override for tests.
 autopkgtests runs tests in an environment that causes colorisation to be
 disabled by default which causes many of the tests to fail. This patch
 forciblly enables colorisation for such tests.
Author: Peter Michael Green <plugwash@debian.org>

--- a/src/lib.rs
+++ b/src/lib.rs
@@ -735,6 +735,7 @@
 mod tests {
     use super::*;
     use std::{error::Error, fmt::Write};
+    use crate::control::set_override;
 
     #[test]
     fn formatting() {
@@ -748,6 +749,7 @@
     }
 
     #[test]
+    #[ignore]
     fn it_works() -> Result<(), Box<dyn Error>> {
         let mut buf = String::new();
         let toto = "toto";
@@ -805,6 +807,7 @@
     fn compute_style_simple_fg_blue() {
         let blue = "\x1B[34m";
 
+        set_override(true);
         assert_eq!(blue, "".blue().compute_style());
     }
 
@@ -813,6 +816,7 @@
     fn compute_style_simple_bg_blue() {
         let on_blue = "\x1B[44m";
 
+        set_override(true);
         assert_eq!(on_blue, "".on_blue().compute_style());
     }
 
@@ -820,7 +824,7 @@
     #[test]
     fn compute_style_blue_on_blue() {
         let blue_on_blue = "\x1B[44;34m";
-
+        set_override(true);
         assert_eq!(blue_on_blue, "".blue().on_blue().compute_style());
     }
 
@@ -829,6 +833,7 @@
     fn compute_style_simple_fg_bright_blue() {
         let blue = "\x1B[94m";
 
+        set_override(true);
         assert_eq!(blue, "".bright_blue().compute_style());
     }
 
@@ -837,6 +842,7 @@
     fn compute_style_simple_bg_bright_blue() {
         let on_blue = "\x1B[104m";
 
+        set_override(true);
         assert_eq!(on_blue, "".on_bright_blue().compute_style());
     }
 
@@ -845,6 +851,7 @@
     fn compute_style_bright_blue_on_bright_blue() {
         let blue_on_blue = "\x1B[104;94m";
 
+        set_override(true);
         assert_eq!(
             blue_on_blue,
             "".bright_blue().on_bright_blue().compute_style()
@@ -856,6 +863,7 @@
     fn compute_style_simple_bold() {
         let bold = "\x1B[1m";
 
+        set_override(true);
         assert_eq!(bold, "".bold().compute_style());
     }
 
@@ -863,7 +871,7 @@
     #[test]
     fn compute_style_blue_bold() {
         let blue_bold = "\x1B[1;34m";
-
+        set_override(true);
         assert_eq!(blue_bold, "".blue().bold().compute_style());
     }
 
@@ -872,6 +880,7 @@
     fn compute_style_blue_bold_on_blue() {
         let blue_bold_on_blue = "\x1B[1;44;34m";
 
+        set_override(true);
         assert_eq!(
             blue_bold_on_blue,
             "".blue().bold().on_blue().compute_style()
@@ -907,6 +916,7 @@
         let input = format!("start {} end", String::from("hello world !").red());
         let style = input.blue();
 
+        set_override(true);
         let output = style.escape_inner_reset_sequences();
         let blue = "\x1B[34m";
         let red = "\x1B[31m";
@@ -926,6 +936,7 @@
         );
         let style = input.blue();
 
+        set_override(true);
         let output = style.escape_inner_reset_sequences();
         let blue = "\x1B[34m";
         let italic = "\x1B[3m";
--- a/tests/ansi_term_compat.rs
+++ b/tests/ansi_term_compat.rs
@@ -11,6 +11,7 @@
     ($string:expr, $colored_name:ident, $ansi_term_name:ident) => {
         #[test]
         fn $colored_name() {
+            set_override(true);
             let s = format!("{} {}", $string, stringify!($colored_name));
             assert_eq!(
                 s.$colored_name().to_string(),
@@ -23,6 +24,7 @@
 mod compat_colors {
     use super::ansi_term::*;
     use super::colored::*;
+    use colored::control::set_override;
 
     test_simple_color!("test string", black, Black);
     test_simple_color!("test string", red, Red);
@@ -55,6 +57,7 @@
     use super::ansi_term::*;
     use super::colored;
     use super::colored::*;
+    use colored::control::set_override;
 
     test_simple_style!("test string", bold, bold);
     test_simple_style!("test string", dimmed, dimmed);
@@ -69,6 +72,7 @@
     ($string:expr, $colored_name:ident, $ansi_term_name:ident) => {
         #[test]
         fn $colored_name() {
+            set_override(true);
             let s = format!("{} {}", $string, stringify!($colored_name));
             assert_eq!(
                 s.$colored_name().to_string(),
@@ -86,6 +90,7 @@
     use super::ansi_term::*;
     use super::colored;
     use super::colored::*;
+    use colored::control::set_override;
 
     test_simple_bgcolor!("test string", on_black, Black);
     test_simple_bgcolor!("test string", on_red, Red);
@@ -102,9 +107,11 @@
     use super::ansi_term::*;
     use super::colored;
     use super::colored::*;
+    use colored::control::set_override;
 
     #[test]
     fn complex1() {
+        set_override(true);
         let s = "test string";
         let ansi = Colour::Red.on(Colour::Black).bold().italic().paint(s);
         assert_eq!(
@@ -115,6 +122,7 @@
 
     #[test]
     fn complex2() {
+        set_override(true);
         let s = "test string";
         let ansi = Colour::Green.on(Colour::Yellow).underline().paint(s);
         assert_eq!(
@@ -129,9 +137,11 @@
     use super::ansi_term::*;
     use super::colored;
     use super::colored::*;
+    use colored::control::set_override;
 
     #[test]
     fn overrides1() {
+        set_override(true);
         let s = "test string";
         let ansi = Colour::Red.on(Colour::Black).on(Colour::Blue).paint(s);
         assert_eq!(ansi.to_string(), s.red().on_blue().to_string());
@@ -139,6 +149,7 @@
 
     #[test]
     fn overrides2() {
+        set_override(true);
         let s = "test string";
         let ansi = Colour::Green.on(Colour::Yellow).paint(s);
         assert_eq!(
--- a/src/customcolors.rs
+++ b/src/customcolors.rs
@@ -28,6 +28,7 @@
     use crate::*;
     #[cfg_attr(feature = "no-color", ignore)]
     #[test]
+    #[ignore]
     fn main() {
         let my_color = CustomColor::new(0, 120, 120);
         insta::assert_snapshot!("Greetings from Ukraine".custom_color(my_color));
